0

我的头在旋转导致以下问题。我正在使用 AngularJS 访问我的 Web 服务(在我的 localhost:4434 上运行),如果出现问题,Web 服务会发送一个响应 400,其中包含一个 json 正文,其中包含一条消息,告诉您到底出了什么问题。

问题是我无法访问客户端上的消息?几乎就好像它永远不会到达客户那里?(事实并非如此,我已经确认它已经到达客户端)这是我在客户端站点上使用的角度代码。

$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,也许它与此有关。

谢谢!

4

1 回答 1

0

我将在这里大胆猜测并说您的问题是 XSS 问题。

您不仅没有数据变量,而且据我从您的屏幕截图中可以看出,status == 0.

您的屏幕截图还显示Origin: http://localhost,这使得该请求被视为 XSS(因为端口不同)。这可以解释为什么状态为 0。

编辑:您可以使用jsonp来解决这个问题。

于 2013-05-01T17:15:20.873 回答