0

私の頭は次の問題の原因で回転しています。AngularJS を使用して Web サービス (localhost:4434 で実行) にアクセスしています。何か問題が発生した場合、Web サービスは、正確に何が問題であったかを示すメッセージを含む json 本文を含む応答 400 を送信します。

問題は、クライアント上のメッセージにアクセスできないことですか? それはまるでクライアントに届かないかのようです?? (そうではありません。既にクライアントに届いていることを確認しています) クライアントサイトで使用しているAngularコードです。

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

不正な形式のデータを送信すると、対応するエラー応答が生成されますが、前述のように...どういうわけか、応答本文に含まれるメッセージにアクセスできません。これは私が得るものです:

firebug からのトレース

私はあらゆる種類のことを試しましたが、今は真剣に立ち往生しています...おそらく誰かが応答のペイロードにアクセスする方法、または少なくとも次に何をすべきかについて考えを持っていますか? 私はCORSも扱っています。おそらくそれと関係があります。

ありがとう!

4

1 に答える 1

0

ここで大げさな推測をして、あなたの問題は XSS の問題だと言います。

データ変数がないだけでなく、スクリーンショットからわかる限り、status == 0.

スクリーンショットにも が表示されているOrigin: http://localhostため、このリクエストは XSS と見なされます (ポートが異なるため)。これで、ステータスが 0 である理由が説明されます。

編集: jsonpを使用して問題を回避できます。

于 2013-05-01T17:15:20.873 に答える