ホームページ  >  記事  >  ウェブフロントエンド  >  Ajaxリクエストエラーのステータスコードが0の場合の対処方法

Ajaxリクエストエラーのステータスコードが0の場合の対処方法

php中世界最好的语言
php中世界最好的语言オリジナル
2018-03-30 15:44:372931ブラウズ

今回は、Ajaxリクエストエラーステータスコードが0の場合の対処方法についてお届けします。見て。 今日、ajax を使用してバックグラウンドからデータをリクエストするときにエラーが発生しました。プロンプトのステータス コードは 0 でした。バックグラウンドは spring mvc

アーキテクチャ

を使用しています。 ステータスコード0は何を意味しますか?検索した結果、(初期化されていない)、つまりsend()メソッドが呼び出されないことを意味することがわかりました。私の元のコードは次のとおりです:

$.ajax({
url:"test",
type:"post",
data:{
  blogTitle : $("#form1 input").val(),
  blogType : $("#form1 option:selected").val(),
  article : htmlcontent
},
dataType: "json",
success: function(data,textStatus){
  if(data.flag == "success"){
    alert("发表成功!");
    window.location.href = 'http://www.baidu.com';
  }    
},
error: function(XMLHttpRequest, textStatus, errorThrown){
  alert(XMLHttpRequest.status);
  alert(XMLHttpRequest.readyState);
  alert(textStatus);
}
 });

よく調べてみると、何も問題はないようです。送信されたデータはバックグラウンドで正常に受信できています。 これは、ajax がデータを送信したことを示しています

もう一度考えてみると、問題があることがわかりました。 form:

<form onsubmit="addBlog();">
//中间省略
<button type="submit">发表博客</button> 
</form>
ご覧のとおり、type="submit" 属性を追加しましたが、これにより新しいフォームのクリックと送信が生成されます。本来、フォームはボタンがクリックされたときに送信を生成します。デフォルト。type="submit" ボタンを使用すると、新しい最初の送信が生成され、完了したフォーム

イベント

が変更されました。

解決策: 上記のコードを次のように変更します:

<form onsubmit="return false">
//中间省略
<button type="addBlog()">发表博客</button>
この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、PHP 中国語 Web サイトの他の関連記事に注目してください。

推奨読書:

更新せずにステータスの変更と Ajax+PHP コードの削除を実現する


Ajax がクライアントを実装してサーバーを非同期に呼び出す方法

以上がAjaxリクエストエラーのステータスコードが0の場合の対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。