http://portlandonline.com/shared/cfm/json.cfm?c=27321
它返回null。我真的无法访问这个。我必须让服务器管理员更新我喜欢的Feed,所以如果你能告诉我如何让它按原样运行,而不在我的HTML中添加标签,请告诉我。我将在jQuery中使用它,并且我一直在尝试使用返回null的getJSON。
$.getJSON('http://portlandonline.com/shared/cfm/json.cfm?c=27321',function(json){
alert(json);
});
返回null。但是,如果我使用flickr feed,它可以正常工作。它返回它应该的东西,[onject Object]。有什么想法吗?
编辑:我发现这是因为HTTP响应标头设置为application / json,应该设置为text / html
答案 0 :(得分:4)
JSON显然无效。将其剪切并粘贴到http://www.jsonlint.com/以获取有关语法错误的更多详细信息。您正在使用的JSON解析器失败,也许另一个将更宽松。
答案 1 :(得分:1)
我认为你的JSON输出周围的()是导致null返回的原因。我会检查json.cfm输出并删除()的
更新
()应该使用jsonp与远程呼叫进行边界接地。
我刚刚在本地文件中对输出进行了本地测试,但它确实有效。
同时使用:
$.getJSON("http://portlandonline.com/shared/cfm/json.cfm?c=27321", function(data){
alert( data );
});
和:
$.ajax({
dataType: "jsonp",
url: 'http://portlandonline.com/shared/cfm/json.cfm?c=27321',
success: function(data) {
...do stuff
}
});
应妥善避免任何跨域脚本问题。
我在firebug中得到了这些请求的干净响应。关键是发送数据类型“jsonp”
有关jsonp的更多信息。
看看这些是否对您有所帮助: