jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jQuery .ajax()调用失败大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试对公共Web服务进行jQuery .ajax()调用,但我无法找到正确的语法.

我尝试了几种不同的实现方式.这个:

$.ajax({
  url: 'http://www.geognos.com/api/en/countries/info/all.jsonp',dataType: "jsonp",success: function() {
    alert('JSONP call succeeded!');
  }
});

它失败并出现以下错误

all.jsonp:1 Uncaught ReferenceError: callBACk is not defined

还有这个:

$.ajax({
  url: 'http://www.geognos.com/api/en/countries/info/all.json',dataType: "json",success: function() {
    alert('JSON call succeeded!');
  }
});

失败,出现此错误

XMLhttprequest cAnnot load http://www.geognos.com/api/en/countries/info/all.json. Origin http://localhost:8888 is not allowed by Access-Control-Allow-Origin.

我通过本地IIS7实例提供页面服务.我也尝试过类似$.getJSON()的各种组合.我错过了什么?

@L_262_4@上面的代码.

更新:以为我们有一个解决方案,但是在执行JSONP调用时,我仍然得到回调未定义错误,即使调用了警报/日志代码.响应URL如下所示:

http://www.geognos.com/api/en/countries/info/all.jsonp?callBACk=undefined&157148585

并且JSON响应包含如下:

callBACk({"StatusMsg": "OK","Results": {"BD": {"Name": "Bangladesh","Capital": {"DLST": "null","TD": 6.0,"Flg": 2,"Name": "Dhaka",...

我已经找到了在.ajax()配置中将uRL添加到URL末尾的示例,但是当我尝试得到相同的结果时,只有它被添加到我的查询字符串的末尾.

解决方法

由于 same origin policy,此常规JSON调用将不起作用.这是您的错误告诉您的:Access-Control-Allow-Origin不允许这样做.

正确的JSONP语法是:

$.ajax({
    url: 'http://www.geognos.com/api/en/countries/info/all.jsonp',jsonpCallBACk: 'callBACk',success: function(data) {
        console.log(data);
    }
});

DEMO

大佬总结

以上是大佬教程为你收集整理的jQuery .ajax()调用失败全部内容,希望文章能够帮你解决jQuery .ajax()调用失败所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。