2013-05-01 38 views
0

我的腦袋正在旋轉導致以下問題。我正在使用AngularJS訪問我的web服務(運行在我的localhost:4434上),如果出現問題,web服務會發送一個響應400,其中包含一個json正文,其中包含一條消息,告訴您究竟發生了什麼錯誤。如何使用AngularJS訪問錯誤響應主體

問題是我無法訪問客戶端上的消息?這幾乎就像它永遠不會到達客戶端? (事實並非如此,我已經確認它已經到達客戶端)這是我在客戶端網站上使用的角碼。

$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); 
     }); 
} 

如果我提交生成相應的錯誤響應格式不正確的數據,但就像我說的......不知爲什麼我不能訪問包含在響應體的消息。這就是我得到:

Trace from firebug

我試過各種各樣的事情,但現在很認真地堅持......也許有人有關於如何訪問響應的有效載荷或者至少是一個想法下一步呢?我也在和CORS打交道,也許它與此有關。

謝謝!

+0

錯誤信息的格式是json嗎? – 2013-05-01 17:08:13

回答

0

我打算在這裏做一個猜測,並說你的問題是一個XSS問題。

你不僅沒有數據變量,但據我可以從你的截圖中可以看出,status == 0

您的屏幕截圖還顯示Origin: http://localhost,這使得此請求被視爲XSS(因爲端口不同)。這可以解釋爲什麼狀態爲0.

編輯:您可以使用jsonp來解決問題。

相關問題