gpt4 book ai didi

json - 使用 angular http.post 方法发布 - xmlhttprquest 无法加载服务

转载 作者:行者123 更新时间:2023-12-04 19:43:06 28 4
gpt4 key购买 nike

Angular $http.post 方法不会将 JSON 发布到服务(RESTFul 服务、节点服务)。
显示以下错误:
XMLHttpRequest cannot load /some/service. Invalid HTTP status code 404
这是发布的代码

$http({method:'POST', url:'/some/service/',data:{"key1":"val1","key2":"val2"}}).success(function(result){
alert(result);
});

相同的代码适用于我的 chrome 的旧版本,即 v29...* 。我将 chrome 更新为 V30...* 。现在,它不起作用。也不适用于 Firefox。 chrome 和 Firefox 有问题吗?

有人可以帮忙吗?

最佳答案

将 Chrome 更新到版本 30.0.1599.101 后,我遇到了类似的问题,结果证明是服务器问题。

我的服务器是使用 Express ( http://expressjs.com/ ) 实现的,下面的代码允许 CORS ( How to allow CORS? ) 运行良好:

var express = require("express");
var server = express();

var allowCrossDomain = function(req, res, next) {
res.header('Access-Control-Allow-Origin', req.headers.origin || "*");
res.header('Access-Control-Allow-Methods', 'GET,POST,PUT,HEAD,DELETE,OPTIONS');
res.header('Access-Control-Allow-Headers', 'content-Type,x-requested-with');
next();
}
server.configure(function () {
server.use(allowCrossDomain);
});

server.options('/*', function(req, res){
res.header('Access-Control-Allow-Origin', req.headers.origin || "*");
res.header('Access-Control-Allow-Methods', 'GET,POST,PUT,HEAD,DELETE,OPTIONS');
res.header('Access-Control-Allow-Headers', 'content-Type,x-requested-with');
res.send(200);
});

server.post('/some_service', function (req, res) {
res.header('Access-Control-Allow-Origin', req.headers.origin);

// stuff here

//example of a json response
res.contentType('json');
res.send(JSON.stringify({OK: true}));
});

HTTP 请求如下所示:
$http({
method: 'POST',
url: 'http://localhost/some_service',
data: JSON.stringify({
key1: "val1",
key2: "val2"
}),
headers: {
'Content-Type': 'application/json; charset=utf-8'
}
}).success(
function (data, status, headers, config) {
//do something
}
).error(
function (data, status, headers, config) {
//do something
}
);

正如此处( https://stackoverflow.com/a/8572637/772020 )所指出的,其想法是确保您的服务器正确处理 OPTIONS 请求以启用 CORS。

关于json - 使用 angular http.post 方法发布 - xmlhttprquest 无法加载服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19211673/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com