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

jQuery.ajax通过jsonp解决跨域

jsonp的原理,为什么跨域跨域可以使用jsonp解决
在跨域的时候,XMLHttpRequet对象请求服务器会受到浏览器的限制,无法成功请求服务器
在跨域的情况下,$.ajax方法内部并没有使用XMLHttpRequest对象请求服务器,而是使用了其他的方式来实现的
jsonp和XMLHttpRequest对象无关!

跨域是可以请求图片
<img src="https://gitee.com/static/images/logo-black.svg?t=158106664">
跨域也可以请求js文件,比如从CDN引入jquery插件
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/1.12.4/jquery.js"></script>
标签src,href都具备跨域请求的能力
src跨域请求PHP程序,并向后台传数据name=zs
<script src="http://www.test.com/test/PHP?name=zs">

jsonp的本质是使用script的src跨域请求了服务器

jsonp请求服务器步骤:
1.前端需要先创建一个方法,利用script把方法名传给后台

 2.后台在接收到数据后,在方法名后面拼接括号,在括号里面拼接json数据

3.后台会返回填充好数据的方法调用say({ "name" : "zs" , "age" : 18})
4.前端接收到返回的方法调用,会立即当做js执行,即可获取后台填充的参数,进行使用

注意点:
jsonp只能发送get请求,jsonp具有get方式的优缺点
jsonp需要前后端配合才能完成

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

相关推荐