向本地nodeJS服务器发出post请求时出现AngularJS CORS错误

时间:2017-03-22 22:27:24

标签: javascript angularjs json node.js cors

我试图通过邮件请求发送json数据但是收到错误,我已经尝试了很多stackoverflow的答案,但没有得到答案我还试过jsonp方法但没有得到任何事情。

  

XMLHttpRequest无法加载http://localhost:3000/lvl/2/data。响应   预检请求没有通过访问控制检查:
否   '访问控制允许来源'标题出现在请求的上   资源。起源' null'因此不允许访问。

     

angular.js:14516可能未处理的拒绝:   {"数据":空,"状态": - 1,"配置" {"方法":" POST&#34 ;," transformRequest":[空]," transformResponse":[空]," jsonpCallbackParam":"回调""网址":" http://localhost:3000/lvl/2/data""头" {"授权":"具有基本   dGVzdDp0ZXN0""内容类型":"应用程序/ X WWW的窗体-urlencoded""接受":"应用/ JSON, text / plain, / "},"数据":{"代码":"测试数据"}},& #34;状态文本":""}

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');
});

1 个答案:

答案 0 :(得分:0)

您可以临时禁用检查带有浏览器扩展名的CORS:

<强>铬:

Allow-Control-Allow-Origin: *

对于 Opera ,您应该安装:

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

2)Allow-Control-Allow-Origin: *