我正在使用一些游戏api,它根据请求返回json格式的数据。jQuery ajax禁用解析
问题是,API是在不同的域名,所以我不允许使用dataType:“JSON”,因为跨域策略(错误:没有'访问控制允许来源'标题出现在请求资源)。所以我尝试使用jsonp代替。当我使用jsonp时,jQuery抛出parseError,因为来自服务器的数据是json而不是jsonp。
我已经尝试jsonpCallback和这种类型的一切 - 服务器仍然返回json。
我也试过使用xhr.responseText,但是是空的。有没有办法告诉jQuery不要解析数据 - 我可以手动解析字符串,只需要在jsonp上设置数据类型以便服务器正确响应。
而数据是从服务器返回的。我知道它不是空的,我可以在Chrome中使用开发人员工具检查它。
我的代码:
$.ajax({
url: "http://eu.battle.net/api/wow/character/turalyon/Blargh",
type: "get",
data: { fields: "quests" },
dataType: "json",
success: function(data, textStatus, jqXHR){
if(typeof func === "function"){
func(data);
}
},
error: function(jqXHR, textStatus, errorThrown){
contentField.html(textStatus);
}
});
有关其他信息:[Wikipedia上的JSONP](http://en.wikipedia.org/wiki/JSONP) – Jeach 2015-03-31 08:27:05