访问控制允许源"标头存在于请求的资源上。错误



我的ajax调用如下

var data = {};
                    data.name = name;
                    data.phone = phone;
                    data.address=address;
$.ajax({
                        type: 'POST',
                        data: JSON.stringify(data),
                        contentType: 'application/json',
                        url: 'http://localhost:5000/endpoint',                      
                        success: function(data) {
                            console.log('success');
                            console.log(JSON.stringify(data));
                        }
                    });

我使用的是nodejsexpress服务器

我的服务器代码是

app.post('/endpoint', function(req, res){
    var obj = {};
    console.log('body: ' + JSON.stringify(req.body));
    res.send(req.body);
});
app.listen(5000);

我已经尝试了发布的其他解决方案,但我仍然收到这个错误

对飞行前请求的响应未通过访问控制检查:请求的资源上不存在Access-Control-Allow-Origin标头。因此,不允许原始http://localhost:3000访问。

我需要做什么?

在服务器上路由之前,添加:

app.all('/*', function(req, res, next) {
    res.header("Access-Control-Allow-Origin", "*");
});

您可以将*替换为授权域的URL。

更多信息:https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS

最新更新