我有$ 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}}
然而没有任何改变..
感谢您的帮助!
答案 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: *
。对于生产,您可能希望缩小范围 - 或使用相对路径。