微信浏览器跨域设置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下请求也能成功。 其它浏览器是正常的。微信开发工具也是正常的。就真机下是不正常的。 请求!!!