Angular Js:$ http.put绝对url不起作用

时间:2016-04-26 17:08:08

标签: javascript angularjs node.js

我有$ http.put of angular js的问题:我有一个带有节点js的服务器和我的应用程序在角度js中我用角度js发出一些请求来访问节点js服务器上的数据(同一主机)

这项工作:

$http.put("http://192.168.0.101:1337/fraisforfait", elements);

但这不起作用:它什么都不做......

  app.use(function(req, res, next) {
    res.header("Access-Control-Allow-Origin", "*");
    res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS');
    res.header("Access-Control-Allow-Headers", "Origin,    X-Requested-With, Content-Type, Accept");
    next();
  });

更新:错误应该在服务器端..

我的服务器在节点j上,我这样做是为了设置CORS:

{{1}}

然而没有任何改变..

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

我的测试也失败了192.168.x.x或127.0.0.1但是使用域名它可以正常工作。 使用

$http.put("http://localhost:1337/fraisforfait", elements); 

或任何其他域名。

答案 1 :(得分:0)

您最有可能遇到CORS,跨源资源共享。您正在访问的终点http://192.168.0.101:1337/fraisforfait将需要明确需要添加响应标头,告诉您的浏览器可以使用GET或HEAD以外的任何其他方式进行访问。

对于开发,您可以让服务器在响应头中返回:Access-Control-Allow-Origin: *。对于生产,您可能希望缩小范围 - 或使用相对路径。

More Details on CORS