【问题标题】:Access-Control-Allow-Origin' header is present on the requested resource. errorAccess-Control-Allow-Origin' 标头出现在请求的资源上。错误
【发布时间】:2017-07-21 02:08:10
【问题描述】:

我的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));
                        }
                    });

我正在使用 node-js express 服务器

我的服务器代码是

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 标头。 Origin http://localhost:3000 因此不允许访问。

我需要做什么?

【问题讨论】:

    标签: ajax node.js express


    【解决方案1】:

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

    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

    【讨论】:

      猜你喜欢
      • 2021-04-13
      • 2021-04-09
      • 2017-07-25
      • 2015-07-29
      • 1970-01-01
      • 2020-07-10
      • 2016-06-30
      • 2016-10-08
      相关资源
      最近更新 更多