在Ajax请求的url不是本地或者同一个服务器下面的URI,最后虽然请求显示为200,但是不会返回任何数据,
事实上简单来说请求同一个域名下的url或者说用不带http的绝对路径和相对路径请求是没有任何问题的,
如果请求外部资源,那么这就称为跨域请求。
由于安全性的问题,浏览器默认不支持跨域调用,jQuery1.2之后官方推荐的结局方案:是在客户端和服务端
同时加参数,这样双方都是信任的那么浏览器就不会阻止了。
$.ajax({
type:"get", //请求方式
async:true, //是否异步
url:"http://www.domain.net/url",
dataType:"jsonp", //跨域json请求一定是jsonp
jsonp: "callbackparam", //跨域请求的参数名,默认是callback
//jsonpCallback:"successCallback", //自定义跨域参数值,回调函数名也是一样,默认为jQuery自动生成的字符串
data:{"query":"civilnews"}, //请求参数
beforeSend: function() {
//请求前的处理
},
success: function(data) {
//请求成功处理,和本地回调完全一样
},
complete: function() {
//请求完成的处理
},
error: function() {
//请求出错处理
}
});