$ http.delete返回错误而没有信息

Bv2*_*202 5 javascript http angularjs

我对AngularJS和REST Web服务有一个奇怪的问题.这是我的代码:

$http.delete(appSettings['baseUrl'] + 'pricelistitem/' + article.itemNumber + '/' + article.acc)
                    .error(function(e) {
                        console.log(e);
                    });
Run Code Online (Sandbox Code Playgroud)

调用它时,我收到错误并.error执行,但e对象是null.

在控制台中,我收到此错误:

XMLHttpRequest cannot load <url>. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:5000' is therefore not allowed access.
Run Code Online (Sandbox Code Playgroud)

在邮递员中执行DELETE请求时(我的代码调用了同一个),我在响应中得到了这些标题:

Access-Control-Allow-Methods ? GET, POST, PUT, DELETE, OPTIONS
Access-Control-Allow-Origin ? *
Content-Length ? 2
Content-Type ? application/json
Date ? Fri, 29 May 2015 06:26:00 GMT
X-Powered-By ? IBM i
Run Code Online (Sandbox Code Playgroud)

我会说这些标题是正确的,我不应该得到这个错误.即使我这样做,错误对象也是null,因此根本没有显示任何信息.

更新15/06:尝试使用PUT和DELETE时都会出现此问题.POST和GET工作正常.在Chrome开发工具的网络标签中,我只能看到OPTIONS请求.在此请求中,Access-Control-Allow-Methods即使在配置Apache配置以在每个响应中包含此标头之后,也不存在(但在Postman中测试时它在PUT/DELETE中).

我已经在这个问题上工作了几个小时没有任何结果.

什么可能导致这个问题?OPTIONS请求是否还需要返回Access-Control-Allow-Origin标头?

任何建议将不胜感激!

Reb*_*nix 2

请求的资源上不存在“Access-Control-Allow-Origin”标头

您面临跨域问题,您应该做的是CORS从服务器端启用。