Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jqueryajax禁用解析_Javascript_Jquery_Ajax_Json_Jsonp - Fatal编程技术网

Javascript jqueryajax禁用解析

Javascript jqueryajax禁用解析,javascript,jquery,ajax,json,jsonp,Javascript,Jquery,Ajax,Json,Jsonp,我正在使用一些游戏api,它会根据请求以json格式返回数据 问题是,api位于不同的域上,因此不允许使用数据类型:“json”,因为跨域策略(错误:请求的资源上不存在“Access Control Allow Origin”头)。所以我试着用jsonp来代替。当我使用jsonp时,jQuery抛出parseError,因为来自服务器的数据是json而不是jsonp 我已经尝试过jsonpCallback,所有这类东西——服务器仍然返回json 我还尝试使用xhr.responseText,但它

我正在使用一些游戏api,它会根据请求以json格式返回数据

问题是,api位于不同的域上,因此不允许使用数据类型:“json”,因为跨域策略(错误:请求的资源上不存在“Access Control Allow Origin”头)。所以我试着用jsonp来代替。当我使用jsonp时,jQuery抛出parseError,因为来自服务器的数据是json而不是jsonp

我已经尝试过jsonpCallback,所有这类东西——服务器仍然返回json

我还尝试使用xhr.responseText,但它是空的。有没有办法告诉jQuery不要解析数据?我可以手动解析字符串,只要在jsonp上设置datatype,服务器就可以正确响应

数据从服务器返回。我知道它不是空的,我可以使用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);
    }
});

jQuery没有解析数据。JSONP的工作原理是将数据编码为脚本中函数调用的参数,该脚本只包含该函数调用,然后通过向文档中添加脚本元素来加载它

JavaScript引擎正在尝试执行JavaScript

您无法通过尝试将任意数据作为JSONP加载来访问它。您请求它的站点必须以JSONP格式提供它。其他任何事情都会使同一原产地政策毫无意义