代码地址: http://pan.baidu.com/s/1jIigegu
$.ajax({
url: "https://poll.kuaidi100.com/poll/query.do",
type: "post",
dataType: "jsonp xml",
crossDomain: true,
jsonp: false,
data: "param=%7B%22com%22:%22yunda%22,%20%22num%22:%223839952036097%22%7D&customer=F1D84470F22E2436305F22E374A94B41&sign=54D0F4D61F5304DDD6667BCD0A018AA8",
contentType: "application/json; charset=utf-8",
async: false,
success : function(res){
console.log("on_succeed")
console.log(res);
},
done: function(d) {
console.log("done")
},
error : function( httpReq, status, exception){
alert(status+";"+exception);
}
});
控制台有报错:Uncaught SyntaxError: Unexpected token :
但是鼠标点击报错的地址,却又能拿到真实数据, 求大神帮忙!
不好意思刚看到消息。你服务器用python?
也无所谓,只要可以就行了。
目前较好的集中解决方式你自己已经罗列出来了:
当请求ip与被请求ip不同时(不在同一环境下),目前最好的解决方案有如下
而以上三种解决方案中:
第3种 -> 我最常用也是最喜欢这种(赶紧利落,get/post都不收影响);
第2种 -> 其次推荐
第1种 -> 我个人不推荐,也不喜欢(会创建新script标签来获取数据,如果获取数据频率过高,会影响整体页面,以及获取速度)
关于第2种:如果设置全局允许跨域的话,某些时候可能会带来些安全隐患,所以,可以在请求端提交请求的时候在header中设置关键字(秘钥),被请求端接收请求后判断关键字(秘钥)是否合法,秘钥合法,就向在允许跨域的白名单中添加当前请求端的ip/域名。如果请求秘钥不合法,不予添加
注:不知道你请求成功了没,有问题可以告诉我