这是对我的网络服务的跨域AJAX请求。
$(document).ready(function(){
$.ajax({
url: 'http://storage.loc/api/getowners/?host=http://www.mail.ru/&callback=parseJSON',
dataType: 'jsonp',
crossDomain: true,
type: 'GET',
jsonp: false,
jsonCallback: 'parseJSON',
error: function(){
alert('Error');
},
complete: function(jqXHR, textStatus){
alert(textStatus);
}
});
});
function parseJSON(data)
{
var links = [];
$.each(data.users, function(key,value) {
links.push = '<a href="#" id="'+value+'"onClick="getData(this)">'+value+'</a><br />';
});
}
回复是:
parseJSON({"users":{"user0":"rulezz87","user1":"karazyab"}})
响应似乎是正确的,但textStatus是“parsererror”,而parseJSON()中的数组是空的。我不是jQuery的专家,所以你能告诉我,我做错了什么吗?
答案 0 :(得分:0)
响应不正确,用户列表不是数组。应该是这样的:
{ "users" : [ {"user0" : "rulezz87"}, {"user1" : "karazyab"} ] }
因此,错误消息是正确的,并且它也无法从JSON解析。