服务器端判断了request来自Ajax请求(异步)还是传统请求(同步),怎么办?

我猜测服务器端通过x-requested-with 请求头限制了ajax请求,请参照http://holdbelief.iteye.com/blog/528114
我是在开发一个chrome插件,我目前使用ajax就获取不到json了,我应该怎样绕过限制呢?

4个回答

如果是判断了请求头,你无法更改x-requested-with这个请求头,只能你服务器做代理页面了。。~

没研究过chrome插件,不知道能否跨域获取iframe的内容,如果chrome插件可以,你可以通过iframe来加载数据,而不是用ajax

showbo
支付宝加好友偷能量挖 回复liujiankey: 用服务器端HttpRequest对象请求远程url地址就行。。HttpWebRequest request=WebRequest.Create("url地址") as HttpWebRequest;request.Referer="";//设置没有来源或者为空。。
大约 5 年之前 回复
liujiankey
liujiankey 还是想请教下,服务器怎么做代理页面,因为我见过别的网站貌似就是自己写了个代理页面。但我没有思路,是因为我不太懂这方面
大约 5 年之前 回复

那你开一个backend的同步请求数据好了

liujiankey
liujiankey backend是什么?
大约 5 年之前 回复

参考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'
                );
            }
        }
    });
});
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问