2016-10-09 6 views
0

このエラーを取得し、わからないなぜ...ありがとう:)AJAXオープンエラー

キャッチされないInvalidStateError:オブジェクトの状態が開かれなければならない。「XMLHttpRequestを」上で実行[送信]に失敗しました。

$(document).ready(function(){ 
    var request = new XMLHttpRequest(); 

    request.onreadystatechange = function(){ 
     if(request.readyState === 4) { 
          console.log("4 request"); 
      if(request.status === 200) { 
       $(".container").innerHTML = request.responseText; 
       console.log("200 request"); 
      } 
     } 
    }; 

    request.open('GET', 'bio.txt', true); 

    $("#send-btn").on("click", function(){ 
     request.send(); 
    }); 
}); 
+0

すでにjQueryを使用しているので、なぜjQuery AJAXユーティリティを使用していませんか? –

答えて

3

のXMLHttpRequestオブジェクトはdifferent statesの数を経ます。

request.openに電話をかけると、OPENED状態になります。

ボタンをクリックすると、後の状態になり、終了します。

ボタンを再度クリックすると、は完了し、オープンされていないので、エラーが発生します。


XHRオブジェクトを作成します(とそれにオープンなどを呼び出す)内部clickイベントハンドラ。

+0

ハハありがとうクエンティン:) それはエラーの問題を解決します。しかし何らかの理由で私のコンテナはテキストを追加していません。 'request.responseText'は正しいですか? 'responseText'はどのように正確に動作しますか? –

+0

@JoeConsterdine - 'innerHTML'はDOM要素のではなく、jQueryのオブジェクトのプロパティです。 – Quentin