微信浏览器跨域设置crossDomain:false不请求服务器直接走error方法?
$.ajax({
"url": "https://xxxxx.xxx.com",
"type": "GET",
"data": {
"game_id": 26
},
xhrFields: {
withCredentials: true
},
beforeSend: function () {
load = layer.load(1);
},
error: function (jqXHR, textStatus, errorThrown) {
layer.msg('服务器出问题了,请联系客服');
},
success: function (json) {
alert(JSON.stringify(json));
},
complete: function () {
layer.close(load);
}
});
代码如上。
因为跨域请求所以丢失了X-Requested-With: XMLHttpRequest请求头。
所以按照两种方案,一个是设置headers,一个是加上crossDomain:false。
ios下正常请求。
android下直接不请求服务器,直接执行error方法的
layer.msg('服务器出问题了,请联系客服');
只要去掉了headers或者crossDomain:false。
则android下请求也能成功。
其它浏览器是正常的。微信开发工具也是正常的。就真机下是不正常的。
请求!!!