我正在尝试使用getJson读取url。它不会触发成功函数也不会触发错误函数。
var url = "http://demo.dreamacc.com/TextTable.json?callback=?";
$.ajax({
type: 'GET',
url: url,
async: false,
jsonpCallback: 'jsonCallback',
contentType: "application/json",
dataType: 'jsonp',
success: function (ooo) {
alert('hi');
alert(ooo);
},
error: function () {
alert('w');
}
});
但是当我试图阅读这个网址时
http://api.twitter.com/1/statuses/user_timeline/codinghorror.json?callback=?
效果很好
答案 0 :(得分:4)
端点(您请求的网址http://demo.dreamacc.com/TextTable.json)不支持JSONP返回。
您将无法使用JSONP请求从此网站检索数据。
JSONP的工作原理是指定远程服务器将JSON对象包装在函数调用中(通过callback
GET参数定义的函数名)。如果端点不支持此功能并相应地修改其响应,则无法使用JSONP从该站点检索数据。
<强>示例:强>
Twitter(支持JSONP): [Normal JSON | JSONP]
demo.dreamacc(不支持JSONP): [Normal JSON | JSONP that doesn't work]
如您所见,demo.dreamacc.com端点不会在函数调用中包装响应。