我使用Flash Builder 4中的数据中心开发功能创建了一个HTTPService。出于某种原因,我无法为HTTP GET请求设置请求标头。我已经尝试为mx.rpc.http.Operation设置头文件对象;但是,它似乎不起作用。数据包嗅探器显示请求标头未被更改。
例如,此处是gettour服务的一部分:
public class GetTourService extends _Super_GetTourService
{
/**
* Override super.init() to provide any initialization customization if needed.
*/
protected override function preInitializeService():void
{
super.preInitializeService();
// Initialization customization goes here
var header:URLRequestHeader = new URLRequestHeader( "Accept", "application/json");
var headers:Array = new Array();
headers.push(header);
var o:Object = this._serviceControl.getOperation( "gettour");
var operation:Operation = o as Operation;
operation.headers = headers;
}
}
但是,数据包嗅探器显示Accept标头为"接受: / \ r \ n"。在AIR中,我遇到类似问题的长默认接受值列表,并且不能将Accept值设置为" application / json"。我错过了什么?
非常感谢任何帮助。谢谢!
编辑:今天早上我找到了答案。而不是
headers.push(header);
我用过
标题["接受"] =" / application / json&#34 ;;
这很有用。
答案 0 :(得分:0)
由于the documentation对此有点模糊,我将采取猜测。根据文档,headers
是自定义标头的对象,因此传递索引数组可能无法正常工作。尝试传递已定义的Object:
operation.headers = {Accept:"application/json"};