jsonp

一、什么是jsonp?
jsonp是json的一种“使用模式”,可用于解决主流浏览器的跨域数据访问的问题。
二、跨源
跨源请求原理:
在这里插入图片描述
【注】ajax默认是同源策略,禁止跨源请求数据。
解决跨源请求数据的方法:
1、直接修改ajax请求头 设置可以跨源(此方法不安全)。
2、可以用php文件作为中转站(间接跨源)。
3、JSONP跨域
三、JSONP
1、JSONP跨域问题:
A、JSONP跨域就是通过src这个属性实现的跨源。
B、src这个属性没有同源限制。

例:通过src属性引入了1.txt,最终1.txt里面所有的数据,就相当于写在了这个页面上。

	<script>
		function func(data){
			alert("下载的数据:" + data);
		}
	</script>
	<script src = '1.txt'></script>

运行结果:
在这里插入图片描述
四、JSONP动态下载数据

JSONP具体操作:
1)、封装一个函数,这个函数有一个参数,参数就是我们下载到的数据
2)、当需要下载数据的时候动态的创建script标签,添加到页面上
3)、当script添加页面上以后,就调用第一步声明好的函数,我们在这个函数里,对下载到的数据进行处理

	<script>
		     function func(data){
			      alert("下载到的数据是:" + data);
		     }
	</script>
	<script>
		window.onload = function(){
			var oBtn = document.getElementById("btn");
			oBtn.onclick = function(){
				var oScript = document.createElement("script");
				oScript.src = "1.txt";
				document.body.appendChild(oScript);
			}
		}
	</script>

运行结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值