Ajax jquery未经授权的请求

Ajax jquery unauthorized request

本文关键字:请求 授权 jquery Ajax      更新时间:2023-09-26

我正在使用Jquery进行ajax请求,除了页面受到保护之外,一切都很好,因此只有登录用户才能发出请求。我已经登录,但我认为Jquery ajax不发送我的cookie到url。我如何解决这个错误,所以cookie,头也发送,所以页面不把它当作401请求?

提前感谢:)

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

编辑:

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

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

我的jquery解决方案:在ajax调用中(用于基本授权):

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

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

您仍然可以正常检查会话