后端jsonp处理
2018-05-22 本文已影响0人
奋斗1216
后端jsonp处理:
第一步:后端接收callback
例如: $callback=$_GET['callback'];
第二步:如果用jsonp方式,返回数据,应该返回函数调用形式,函数调用内部的参数就是你要的json
例如: echo $callback."(".$json.")";
axios:不支持json
获取元素:
querySelector() 只获取匹配第一个dom元素 兼容:IE8+
querySelectorAll() 获取匹配的一个dom列表 兼容:IE8+
清除ajax缓存:在url地址后面添加随机数 例如:?random=new Date().getTime()
解决跨域方法:jsonp,代理,cors
jsonp实现原理:动态创建script标签 ,因为script中的src有跨域能力
jsonp实现步骤:
前端实现:
第一步:动态创建script标签,并添加callback参数
第二步:要创建callback函数 例如:getdata
后端实现:
第一步:接收浏览器传递过来的callback函数
例如:$callback=$_GET['callback'];
第二步:返回函数调用形式,其内部的参数就是json
例如: echo $callback."(".$json.")";
jsonp缺点:只支持 get请求
jsonp优点:兼容性比较好 兼容:IE5+
CORS跨域:http://www.ruanyifeng.com/blog/2016/04/cors.html
php 实现的cors跨域:header('Access-Control-Allow-Origin: *');
缺点:只支持IE10+
优点:
1.前端无需改代码,
2.支持所有请求方式 包括:post,delete,put,get