JSONP(JSONwithPadding)是JSON的一种“运用形式”,可用于处理干流浏览器的跨域数据访问的问题。因为同源战略,一般来说位于server1.example.com的网页无法与不是server1.example.com的服务器交流,而HTML的元素是一个破例。利用元素的这个开放战略,网页能够得到从其他来历动态产生的JSON材料,而这种运用形式就是所谓的JSONP。用JSONP抓到的材料并不是JSON,而是恣意的JavaScript,用JavaScript直译器履行而不是用JSON解析器解析。
jsonp跨域步骤
ajaxAuthorization鉴权失败
$.ajax({
type:”get”,
url:”http://example.com.cn/api/api/web/v3/user/login?password=e52d6ad8a22e93a6760df02fc764f8c9&username=15700153240″,
dataType:”jsonp”,
jsonp:”callback”,
jsonpCallback:”success_jsonpCallback”,
success:function(r){
if(r.code==200){
//登录成功后
varuser_id=r[“data”].userid;
varaccess_token=r[“data”].access_token;
$.ajax({
type:”get”,
url:”http://example.com.cn/api/api/web/v3/user/”+user_id+”?datetime=”+datetime+””,
dataType:”jsonp”,
jsonp:”callback”,
jsonpCallback:”success_jsonpCallback”,
headers:{
“Access-Control-Allow-Origin”:”*”,
“Access-Control-Allow-Headers”:”Authorization”,
“Authorization”:access_token
},
success:function(data){
debugger
},
error:function(a){
alert(“犯错”);
}
})
}
}
})