javascript 我对node.js服务器的请求有问题[重复]

ukdjmx9f  于 2022-12-21  发布在  Java
关注(0)|答案(2)|浏览(183)
    • 此问题在此处已有答案**:

No 'Access-Control-Allow-Origin' header is present on the requested resource—when trying to get data from a REST API(26个答案)
11小时前关门了。
我发布了一个服务器上的主机,我用节点js。这个想法是当用户在我的网站填写表格,我们从它的值,并发送请求到服务器。我的服务器工作。我检查了 Postman 应用程序(我提出了一个请求,当它在主机上的服务器),我的服务器给答案没有任何错误。

    • 问题是当我从我的站点请求时,我遇到此错误**
Access to XMLHttpRequest at 'https://register-and-login.onrender.com/api/register?mail=palchyk.test123@gmail.com&password=' from origin 'https://romachamp.github.io' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
    • 还有一个错误**
POST https://register-and-login.onrender.com/api/register?mail=palchyk.roman@gmail.com&password= net::ERR_FAILED 200
(anonymous) @ register.js:22

如何看我的网站
my site

    • JS代码**
const registerButton = document.querySelector('#button1');
const loginButton = document.querySelector('#button2');
const result = document.querySelector('.response');
const result2 = document.querySelector('.response2');
const input1 = document.querySelector('.input1');
const input2 = document.querySelector('.input2');
const input3 = document.querySelector('.input3');
const input4 = document.querySelector('.input4');

registerButton.addEventListener('click', function (e) {
    console.log(input2.value);

    const req = new XMLHttpRequest();

    req.onload = function () {
        result.innerHTML = req.response;
    }

    req.open(`POST`, `https://register-and-login.onrender.com/api/register?mail=${input1.value}&password=${input2.value}`)

    req.send();
});

loginButton.addEventListener('click', function (e) {
    const req = new XMLHttpRequest();

    req.onload = function () {
        result2.innerHTML = req.response;
    }

    req.open(`GET`, `https://register-and-login.onrender.com/api/login?mail=${input3.value}&password=${input4.value}`)

    req.send();
});

救命啊!
我发布了一个服务器上的主机,我用节点js。这个想法是当用户在我的网站填写表格,我们从它的值,并发送请求到服务器。我的服务器工作。我检查了 Postman 应用程序(我提出了一个请求,当它在主机上的服务器),我的服务器给答案没有任何错误。

    • 问题是当我从我的网站请求时,我遇到了一个错误**
k0pti3hp

k0pti3hp1#

必须在节点响应中添加适当的头。一种非常宽松的方式是:

"Access-Control-Allow-Origin": "*"

Docs here

von4xj4u

von4xj4u2#

你不能做一个请求到不同的域.(读this).
或者,您可以通过导入CORS库并将源域或“*”用于任何源来允许CORS。

app.use(cors({
    origin: '*'
}));

相关问题