0
我試圖將現有的AJAX應用移植到Flex,並且無法將發送給後端服務的參數編碼。Flex阻止使用HTTPRequest參數的URL編碼
當試圖執行刪除聯繫人的動作,現有的應用程序執行POST,發送以下內容:(與螢火蟲捕獲)
contactRequest.contacts[0].contactId=2c33ddc6012a100096326b40a501ec72
所以,我創建以下代碼:
var service:HTTPService;
function initalizeService():void
{
service = new HTTPService();
service.url = "http://someservice";
service.method = 'POST';
}
public function sendReq():void
{
var params:Object = new Object();
params['contactRequest.contacts[0].contactId'] = '2c33ddc6012a100097876b40a501ec72';
service.send(params);
}
在Firebug,我看到這個發出如下:
Content-type: application/x-www-form-urlencoded
Content-length: 77
contactRequest%2Econtacts%5B0%5D%2EcontactId=2c33ddc6012a100097876b40a501ec72
Flex是URLË在發送它們之前對params進行編碼,並且從服務器返回錯誤。
如何禁用此編碼,並獲取按原樣發送的參數,而無需URL編碼?
我覺得contentType
屬性應該是關鍵 - 但沒有定義的值工作。
此外,我考慮寫一個SerializationFilter
,但這似乎是矯枉過正 - 有沒有更簡單的方法?