具有有效JSON输出的JSONP分析错误
JSONP Parse Error with valid JSON Output
我正在使用JSONP调用跨域AJAX请求。现在,我可以使用CORS使其工作。但是,我想知道为什么JSONP没有发生这种情况。我查看了其他有类似问题的线程,但不明白为什么它在我的情况下不起作用。
这是代码:
$.ajax({
type: "GET",
url: http://XXXX:8000/sap/bc/test_rest/jsonp_test?mode=S&ticket=123,
dataType: "jsonp",
jsonp: false,
jsonpCallback: "myJsonMethod",
success: function (data) {
alert(data);
},
error: function (httpReq, status, exception) {
alert(status + " " + exception);
}
});
现在,这调用了我的服务器,数据被填充,然后我在回调URL上收到警报"解析错误myJSONMethod未被调用"http://xxxx:8000/sap/bc/test_rest/jsonp_test?mode=S&ticket=123&_=1470322282936
此外,在控制台中,我得到的错误为未捕获的SyntaxError:意外令牌:响应结构为:
{"ROOT":{"CONTRACT":"40002356","ITEM":"000010","KUNNR":"0000004676","NAME":"REALTY EXECUTIVES","NET_PRICE":19.95,"GROSS_PRICE":19.95,"MATNR":"144","SQFEET":""}}
当我在jsonint上运行这个JSON输出时,它说它是一个有效的JSON。我不知道JSON哪里搞砸了。
您的数据必须是这样才能对JSONP:有效
myJsonMethod({"ROOT":{"CONTRACT":"40002356","ITEM":"000010","KUNNR":"0000004676","NAME":"REALTY EXECUTIVES","NET_PRICE":19.95,"GROSS_PRICE":19.95,"MATNR":"144","SQFEET":""}});
responsetext必须是有效的js代码,并且在响应结束后将立即运行。所以如果你写你的代码
{"根":{"合同":"40002356","项目":"000010","KUNNR":"0000004676"executions","NET_PRICE":19.95,"GROSS_PRICE":19.95%,"MATNR":"144","sqfeets":"}}
在<script>
标记中,控制台将抛出类似的错误
相关文章:
- 向Yahoo Finance API发出JSONP请求时获得400错误请求
- JSONP ajax调用出现错误
- 未捕获的类型错误:无法读取 null 的属性“removeChild”(使用 Instagram 的 JSONP 响应)
- 在回调返回错误中带有点的 JSONP
- JavaScript JSONP请求错误--未捕获的语法错误:意外的令牌:
- 获取jsonp时出现授权标头错误
- JSONP跨原点错误'不存在Access Control Allow Origin标头'
- 调用WCF JSONP web服务方法时出现错误400
- Ajax get jsonp给出错误代码500“;请求被阻止”;来自MVC应用程序
- jsonp未捕获语法错误:意外的令牌:
- JSONP 调用给了我一个错误
- 并发 jquery jsonp 响应被发送到错误的成功处理程序
- AngularJS在从HTTP返回的JSON中获取语法错误.JSONP.
- jsonp jquery 跨域错误
- JSONP - 触发器完成、成功、错误 Ajax 调用
- “未捕获的语法错误:意外的令牌:”,带有 $http.jsonp
- 谷歌地图地理给出 JSONP 错误意外的令牌:或无效的标签
- JQuery 1.7 中的 JSONP 错误
- JSONP错误:未捕获的语法错误:意外的令牌:
- 分析JsonP错误