Tom*_*wak 1 xmlhttprequest rocket.chat
我正在尝试通过 API 在本地主机上登录我的 Rocket.chat 应用程序。
当我使用数据向http://localhost:3000/api/login发送 POST 时: {"user":"myusername","password":"mypassword"}
我收到状态错误的响应 401,无论是使用 xhr 请求、axios 还是 jquery ajax。
但是当我使用 python virtualenv 或 curl 发送相同的数据时,响应为 200 并且状态成功。
我究竟做错了什么?为什么 POST 在使用 javascript 发送时失败,而在使用 python 或 curl 发送时通过?
var xhr = new XMLHttpRequest();
xhr.open("POST", 'http://localhost:3000/api/login/', true);
xhr.send(JSON.stringify({
user: "myusername",
password: "mypassword"
}));
// result: {status: "error", message: "Unauthorized"}
Run Code Online (Sandbox Code Playgroud)
我发送没有标头的登录请求,因为:
xhr.setRequestHeader('Content-Type', 'application/json');
Run Code Online (Sandbox Code Playgroud)
您正在一个域上运行火箭聊天,该域与您发出 ajax 请求的域不同。您发出ajax请求的域和端口应该与目标url的域和端口相同。这是因为 Web 浏览器中有一项称为跨域资源共享 (CORS) 的安全功能。请参阅https://en.wikipedia.org/wiki/Cross-origin_resource_sharing。
要修复此错误,您的 Web 服务器需要允许来自其他域的请求。
| 归档时间: |
|
| 查看次数: |
1916 次 |
| 最近记录: |