jsonp

JSON:前后端交换数据的一种格式
* JSON字符串:往往都是在后端向前端发送数据时传输的格式。
* JSON对象:往往都是前端希望得到的。数据或对象或它们之间的嵌套。
JSON字符串与JSON对象之间的转换
* JSON.parse(JSON格式的字符串):正解析,将JSON字符串转换为JSON对象,没有副作用。
* JSON.stringify(JSON对象):反解析,将JSON对象转换为JSON字符串,没有副作用。 
同源组策略:Ajax请求地址与当前页面的地址必须得是同协议,同主机,同端口才可以正常发送Ajax请求,这三者有任何一个不一样,则判定此次请求是跨域请求,浏览器会阻止这个请求行为。
跨域解决方式
* CORS
* 服务器反向代理
* JSONP
JSONP:一种解决跨域问题的方法。工作机制:利用动态创建一个script标签并利用它的src属性向服务器发送一次HTTP请求,并提前声明好一个回调函数,回调函数的函数名利用callback请求参数传递给后端。后端接收到来自前端的请求后,获取callback请求的请求参数并拼接一个调用函数的JS代码段并将要返回给前端的数据以实参的形式存在。前端接收到来自后端的响应后,会将后端的返回内容当做JS代码来执行即调用一个函数,并用一个形参来接收后端向要传递过来的数据。
// 回调函数:当成功接收到来自后端的响应之后会自动调用这个函数,并且该函数中的形参就代表了后端要返回的数据
		function jsonpcallback(data){
			console.log(data[0])	
		}

		query.onclick = function(){
			let script = document.createElement('script');
			script.setAttribute('src',"http://10.35.161.142/data.php?callback=jsonpcallback&name="+queryname.value)
			$("body").appendChild(script)
		}
  • 7
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值