Ajax jquery未经授权的请求

时间:2011-08-05 09:19:20

标签: javascript jquery asp.net

我正在使用Jquery发出ajax请求,一切正常,但页面受到保护,因此只有登录用户才能发出请求。我已经登录但我认为Jquery ajax不会将我的cookie发送到网址。如何解决此错误,以便发送cookie,标题,以便页面不将其视为401请求?

提前致谢:)

3 个答案:

答案 0 :(得分:1)

听起来您正在尝试在与您的网站运行的域不同的域上请求页面。如果是这种情况,那么浏览器会告诉您请求是未经授权的而不是其他站点。

修改

如果是这种情况并且您控制其他网站,那么我相信您可以使用特定标头(http://www.w3.org/TR/2008/WD-access-control-20080912/#access-control-allow-origin)来允许请求。如果你不控制其他服务器那么就没有(纯粹的javascript)解决这个问题了。

您可以在您控制的服务器上运行代理,以请求该页面并将其传递给您。但是,这仍然存在问题,即它将在没有用户cookie的情况下请求页面。

答案 1 :(得分:0)

我的jquery解决方案: 在你的ajax电话中(基本授权):

headers: {
                "Authorization": "Basic " + btoa('username:password')
},

beforeSend: function (xhr){ 
                xhr.setRequestHeader('Authorization', "Basic " + btoa('username:password')); 
},

答案 2 :(得分:-1)

您仍然可以正常查看会话