-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
JSONP学习笔记 #11
Comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
1 JSONP诞生的由来
根据同源策略,当一个网站不能获取另外一个网站的数据,虽然这一策略能有效的保护网站隐私,但有时一些合理的用途需要用到不同网站之间的通讯,这就需要一些方式绕过同源策略。
于是就想着哪些方法可以获取其他网站的数据,开发者发现,
html
标签的src
可以绕过同源策略,获取其他网站的数据,比如<iframe>、<img>、<script>
接下来说说
<img>、<script>
这两个标签是如何实现跨域的2
<img>
实现跨域当利用JavaScript创建一个图片,并设置图片的
src
时,就一定会请求这个src
,但是请求不支持POST
,只能发起GET
请求,代码如下:通过上面的代码,就可以在网站上请求
http://www.yyzcl.com/pay
的数据,绕过同源策略实现了跨域3
<script>
实现跨域同样的,
script
标签也可以实现跨域如果在
src
中加入一个查询参数,并定义一个函数名为查询参数的函数,那么后端在接收到src
发出的请求时,写一段调用这个函数的代码,返回给前端页面,前端页面就会执行这个函数例如
其实这就是JSONP了
JSONP
假设有两个网站,它们之间需要通讯
一般有如下约定:
所以代码可以这么写
如果是用
jQuery
的话,可以这么写简单的来说,
JSONP
就是利用<script>
标签的src
绕过同源策略,从别的网站获取一段JSON
数据,callback
后面的参数是页面存在的回调函数The text was updated successfully, but these errors were encountered: