博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js ajax跨域调用
阅读量:6623 次
发布时间:2019-06-25

本文共 1019 字,大约阅读时间需要 3 分钟。

正常使用ajax调用java.com
$.ajax({       type: 'get',       url: 'http://www.java.com/custinfo?id=888',        dataType: 'json',        success: function(data){
console.log('成功'); } });
你会发现无法调用
原因:

JavaScript出于安全方面的考虑,不允许跨域调用其他项目。

跨域,由于浏览器同源策略的限制,a.com 无法调用 b.com

 

解决方案:  JSONP

JQuery调用jsonp

var url = 'http://www.java.com/custinfo?id=888&jsoncallback=?';
$.getJSON(url,function(data){
  console.log('成功'); });

注意:如果java.com返回的是JSON格式的数据,你是取不到的。

    你会发现回调函数并没有调用

json格式示例:

{   "code":"200",   "msg":"成功" ,   "data":[      {         "custNo":"100088"          "id":"888"       }    ]      }

如果服务端返回的是上面JSON格式的数据你是取不到的。

需要服务端修改代码,返回JSONP格式的数据。

jsonp格式示例:

jsonpcallback(    {       "code":"200",       "msg":"成功" ,       "data":[          {             "custNo":"100088"              "id":"888"           }        ]          })

看到两种格式的区别了吗?

 

参考 https://baike.baidu.com/item/jsonp/493658

参考 https://blog.csdn.net/felcon/article/details/52293044

转载于:https://www.cnblogs.com/Alwaysbecoding/p/10911737.html

你可能感兴趣的文章
linux tty无法输入密码,Linux系统tty无法正常显示汉字的两种解决方案
查看>>
linux连接小米随身wifi密码忘记了,小米wifi管理员密码忘记了怎么办?
查看>>
linux系统防火墙关闭22端口,Linux系统防火墙关闭及端口开放
查看>>
linux popen获取ip地址,使用popen函数读取命令输出失败
查看>>
跟马哥快速学linux,学习Linux,如快速入门?
查看>>
python 编辑html文件内容,使用Python解析和编辑HTML文件
查看>>
切换 ip 批处理
查看>>
CommandArgument 绑定多个参数
查看>>
dropdownlist可以多选。类似的例子。。。
查看>>
Objective-C 内存管理
查看>>
Linux下rz,sz与ssh的配合使用
查看>>
pku 1054 The Troublesome Frog 暴力+剪枝
查看>>
串行,并行,并发
查看>>
第1章关键角色及其职责——明白职责
查看>>
IOS CoreData 多表查询(下)
查看>>
mysql查询常用小语句
查看>>
webservice测试工具
查看>>
BabeLua常见问题
查看>>
python -- ajax数组传递和后台接收
查看>>
Porting .Net RSA xml keys to Java
查看>>