1

我正在尝试执行 $http.post 并获得响应,我尝试了多种方式,但无法使其正常工作。我发送的数据(userData)是一个 json 对象。

 $http.post(url, userData)
    .success(function(data, status, headers, config) {
        console.log('post success');
        console.log('data');
        console.log(data);
        console.log('status');
        console.log(status);
        console.log('headers');
        console.log(headers);
        console.log('config');
        console.log(config);
    }).error(function(data, status, headers, config) {
        console.log('post error');
        console.log('data');
        console.log(data);
        console.log('status');
        console.log(status);
        console.log('headers');
        console.log(headers);
        console.log('config');
        console.log(config);
    });

而且我的状态为 404。

谢谢

4

2 回答 2

1

“405 Method not allowed”响应是因为您的浏览器正在通过 angular $http 执行“preflight” OPTIONS 方法请求,而您的服务器不支持它。启用 CORS 有许多先决条件响应。如果您有权访问服务器,则可以添加对它的支持。一种选择是使用 nginx 作为具有这种配置的前端代理:

http://enable-cors.org/server_nginx.html

阅读评论——它们非常有用。

另外:请参阅此处的“预检请求”:https ://developer.mozilla.org/en-US/docs/HTTP/Access_control_CORS

于 2014-03-19T01:31:01.023 回答
0

404 表示您发送请求的 URL 不存在。

如果您使用类似的子目录mysite.com/angular-site,并且将此处的 URL 设置为类似“/url/to/api”的相对路径 - 您将到达“ mysite.com/url/to/path”而不是正确的“ mysite.com/angular-site/url/to/path”。

所以请注意,这可能是问题所在。

于 2014-03-12T07:27:05.067 回答