我从客户的供应商处获取数据。
Documention说我可以用XML和JSON获取feed,但默认是XML。要获得JSON,我必须设置标题接受:application / json 并删除接受:application / xml 标题。
我没有在我的代码中设置或删除任何标头。
我正在使用普通的URLLoader来加载Feed。
当我在浏览器中导航到Feed网址时,我得到 XML 当我在FlashDevelop中运行我的代码时,我得到 XML 当我在Flash Pro中运行完全相同的代码时,我得到 JSON 。
有谁知道Flash Pro中导致这种情况的原因是什么?任何可以更改的隐藏设置?
URLRequest.method没有影响。是否调试模式没有影响
我被踩了。
---------我试过的代码------------
var header:URLRequestHeader = new URLRequestHeader("Accept", "application/xml");
var headers:Array = [];
headers.push(header);
urlReq.requestHeaders = headers;
urlReq.method = URLRequestMethod.POST;
---------完整加载代码-----------
_urlLoader.addEventListener(Event.COMPLETE, validateFeedLoaded);
_urlLoader.addEventListener(IOErrorEvent.IO_ERROR, handleFeedIOerror);
_urlLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, handleFeedSecError);
var urlReq:URLRequest = new URLRequest(_feedUrl);
urlReq.requestHeaders = [new URLRequestHeader("Accept", "application/json")];
_urlLoader.load(urlReq);
答案 0 :(得分:1)
不同的客户端/应用程序具有不同的默认值。不同版本的flash / air运行时可能具有不同的接受类型默认值。
如果您需要一致性,那么您应该在请求中明确设置接受类型:
urlrequest.requestHeaders = [new URLRequestHeader("Accept", "application/json")];
这应该确保您在任何版本的运行时使用的IDE中都能获得JSON。