【问题标题】:AngularJS CORS error while making post request to the local nodeJS server向本地nodeJS服务器发出发布请求时出现AngularJS CORS错误
【发布时间】:2017-08-15 06:50:59
【问题描述】:

我正在尝试通过 post 请求发送 json 数据但收到错误,我尝试了许多 stackoverflow 的答案但没有得到答案我也尝试了 jsonp 方法但没有得到任何东西。

XMLHttpRequest 无法加载 http://localhost:3000/lvl/2/data。回复 预检请求未通过访问控制检查:
否 'Access-Control-Allow-Origin' 标头出现在请求的 资源。因此不允许访问 Origin 'null'。

angular.js:14516 可能未处理的拒绝: {"data":null,"status":-1,"config":{"method":"POST","transformRequest":[null],"transformResponse":[null],"jsonpCallbackParam":"callback" ,"url":"http://localhost:3000/lvl/2/data","headers":{"授权":"基本 dGVzdDp0ZXN0","Content-Type":"application/x-www-form-urlencoded","Accept":"application/json, text/plain, /"},"data":{ "代码":"测试数据"}},"statusText":""}

http 发布请求:

$http({
    url:'http://localhost:3000/lvl/2/data',
    method:"POST",
    headers: {
        'Authorization': 'Basic dGVzdDp0ZXN0',
        'Content-Type': 'application/x-www-form-urlencoded'
    },
    data: {
        'Code': 'test data'
    }
}).then(function() {
    console.log('submitted')
});

NodeJs 发布请求:

router.post('/lvl/2/data', function (req, res){
    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Methods", "POST, GET, PUT, OPTIONS, DELETE");
    res.header("Access-Control-Max-Age", "3600");
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
    console.log(req.body);
    res.send('submitted');
});

【问题讨论】:

  • 您的 nodejs 是否正确处理 OPTIONS 预检请求?
  • 虽然Origin 'null' 建议使用file:// 协议加载发出请求的页面
  • 你的服务器不像你那样工作
  • 是页面是使用 file:// 协议加载的
  • 看到这个Response to preflight request doesn't pass access control check - 那是失败的 OPTIONS 预检 - 阅读 CORS 预检以了解 - 如果你在服务器上使用 express,你会使用 express-cors - npmjs.com/package/express-cors

标签: javascript angularjs json node.js cors


【解决方案1】:

您可以暂时禁用使用浏览器扩展检查 CORS:

铬:

Allow-Control-Allow-Origin: *

对于 Opera,您应该安装:

1)Extension allows you to install extensions from Chrome Web Store

2)Allow-Control-Allow-Origin: *

【讨论】:

    猜你喜欢
    • 2021-03-02
    • 1970-01-01
    • 2015-10-07
    • 1970-01-01
    • 2022-01-13
    • 2016-09-15
    • 1970-01-01
    • 2022-01-06
    • 2022-01-23
    相关资源
    最近更新 更多