2016-09-13 1 views
-3

誰もこれを見たことがありますか?ステータス0のエラーハンドラに入りますが、responseTextは私が見たいと思ったものです。jquery .ajax()コールのステータスは0ですが、responseTextはまさに正しいです

これはどういうわけか、一部のPCからしか起こっていないのは、通常、Google Earthからのリクエストだけです。私はステータスコードとresponseTextを見るために.failureの引数でalert()をしなければなりませんでした。

$.ajax({ 
     url: myServletUrl 
     data: {id: theId} 
     } 
).success(function(result){ 
          alert(result);//normally happens 
          } 
).failure(function(xhr){ 
          alert(xhr.status +" - " xhr.responseText); 
          //I get "0 - xxxxx" where xxxx is a json string. 
         } 
); 

編集、ここで見て、同じ問題: https://code.google.com/archive/p/earth-issues/issues/1332

+0

あなたのコードとサンプルの回答を投稿できますか? – War10ck

+0

私はいくつかのコードを追加しましたが、それは必要ではありません。 jquery ajaxに漠然と慣れている人なら誰でもこのように見えます。 – osoblanco

+1

私は 'jQuery.ajax'をよく知っていますが、実際のコードスニペットがなければ、あいまいな言葉の質問はおそらく下落して閉じます。これはコードスニペットですか、実際のコードスニペットですか? – War10ck

答えて

0

だから、これは我々が思い付くことができる最もエレガントなソリューションです。匿名のものではなく、名前付き関数に成功関数をリファクタリングする必要があります。

$.ajax({ 
     url: myServletUrl 
     data: {id: theId} 
     } 
).success(function(result){ 
          successFunction(result);//normally happens 
          } 
).failure(function(xhr, statusText){ 
          if(xhr.status===0 && xhr.responseText){ 
           //GE bug, really success. 
           successFunction(xhr.responseText); 
          }else{ 
           alert("FAILURE - "+ statusText); 

          } 
         } 
); 
関連する問題