微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

asp.net – 如何使用ajax调用跨域web api?

jQuery.ajax({
           type: "GET",url: 'http://example.com/restaurant/VeryLogin(username,password)',dataType: "json",success: function (data) {
               alert(data);
           },error: function (XMLHttpRequest,textStatus,errorThrown) {
               alert("error");
           }
       });

它提醒成功,但数据为空. url返回xml数据,如果我们指定dataType,我们可以获取json数据,但是这里没有获取任何数据.

任何帮助赞赏.

解决方法

Javascript受相同域策略的约束.这意味着为了安全起见,客户端浏览器中的JS脚本只能访问它来自的相同域.

JSONP不受相同的限制.

在这里查看JSONP上的jQuery文档:

http://api.jquery.com/jQuery.getJSON/

以下是使用JSONP通过JQuery AJAX访问跨域服务的工作示例:

http://jsbin.com/idasay/4

以防JSBIN将来删除此粘贴:

jQuery.ajax({
     type: "GET",url: 'http://api.geonames.org/postalCodeLookupJSON?postalcode=6600&country=AT&username=demo',dataType: "jsonp",cache: false,crossDomain: true,processData: true,success: function (data) {
         alert(JSON.stringify(data));
     },errorThrown) {
         alert("error");
     }
 });

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐