我正在使用一些遊戲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