我的头脑旋转导致以下问题。我正在使用AngularJS访问我的webservice(在我的localhost:4434上运行),如果出现问题,webservice会发送一个包含json正文的响应400,其中包含一条消息,告诉你究竟出了什么问题。
问题是我无法访问客户端上的消息?几乎就好像它永远不会到达客户端? (事实并非如此,我已经确认它已经到达客户端了)这是我在客户端站点上使用的角度代码。
$scope.create = function() {
$http.post('http://localhost:4434/scrapetastic/foo', $scope.bar).
success(function(data, status, headers, config) {
console.log("Call to log: "+status);
console.log("Call to log: "+data);
}).
error(function(data, status) {
console.log("Error|Data:"+data);
console.log(status);
});
}
如果我提交格式错误的数据,则会生成相应的错误响应,但正如我所说的......不知怎的,我无法访问响应正文中包含的消息。这就是我得到的:
我已经尝试了各种各样的事情,但现在却被严重困住了......也许有人知道如何访问响应的有效负载或至少接下来要做什么?我也在处理CORS,也许它与此有关。
谢谢!
答案 0 :(得分:0)
我会在这里猜测一下,并说你的问题是XSS问题。
您不仅没有数据变量,而且从我的屏幕截图中可以看出status == 0
。
您的屏幕截图也显示Origin: http://localhost
,这使得此请求被视为XSS(因为端口不同)。这可以解释为什么状态为0。
修改:您可以使用jsonp来解决问题。