Rocket.chat - 通过 Rest API 登录 - 401

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)

返回 500

以下是来自 Chrome 的请求详细信息:
在此处输入图片说明

Nad*_*tif 5

您正在一个域上运行火箭聊天,该域与您发出 ajax 请求的域不同。您发出ajax请求的域和端口应该与目标url的域和端口相同。这是因为 Web 浏览器中有一项称为跨域资源共享 (CORS) 的安全功能。请参阅https://en.wikipedia.org/wiki/Cross-origin_resource_sharing

要修复此错误,您的 Web 服务器需要允许来自其他域的请求。