我猜测服务器端通过x-requested-with 请求头限制了ajax请求,请参照http://holdbelief.iteye.com/blog/528114
我是在开发一个chrome插件,我目前使用ajax就获取不到json了,我应该怎样绕过限制呢?
request.setRequestHeader
http://www.cnblogs.com/chenxizhang/archive/2010/02/28/1675259.html
如果是判断了请求头,你无法更改x-requested-with这个请求头,只能你服务器做代理页面了。。~
没研究过chrome插件,不知道能否跨域获取iframe的内容,如果chrome插件可以,你可以通过iframe来加载数据,而不是用ajax
那你开一个backend的同步请求数据好了
参考Remove X-Requested-With from the jQuery Ajax request
如果你使用的是jquery的话,通过beforeSend前设置xhr.setRequestHeader函数来覆盖默认的X-Requested-With设置
你可以点击查看演示代码,在IE11上测试有效。
$(function(){
$.ajax({
url: '/echo/json',
beforeSend: function(xhr){
xhr.setRequestHeader('X-Requested-With', {
toString: function(){return '';}
});
},
success: function( data ) {
if (console && console.log){
console.log(
'Got data without the X-Requested-With header'
);
}
}
});
});