0

私は非常に単純なことをしていますが、それでもうまくいきません..何かが足りないのかもしれません。

テキスト ファイルを ajax を介して div に読み込む必要があります。ajaxを介してファイルに簡単に書き込むことはできますが、読み取ることはできません。これが私が持っているものです:

function ajaxLoader(url) {
  if(document.getElementById) {
    var x = (window.ActiveXObject) ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
  }
  if(x) {
    x.onreadystatechange = function() {
      if(x.readyState == 4 && x.status == 200) {
        el = document.getElementById('content');
        el.innerHTML = x.responseText;
      }
    }

    x.open("GET",url, true);
    x.send(null);
  }
}

<a class="blocklink" href="#" id="readg" onclick="ajaxLoader('guestBook.txt')">Read The Guestbook</a></p>

<div id="content" style="width:600px;">

私は一日中これにこだわっています。同じコードをすべて使用して、通常の html ファイルを div に出力できますが、この .txt ファイルは出力できません。txt ファイルには、必要なすべての読み書き権限があります。ありがとう!

マーカス

4

4 に答える 4

0

それを理解しました..私はキャッシュをクリアしませんでした...キャッシュが再び勝ちます!

于 2009-11-17T18:01:44.597 に答える
0

クリックされたリンクをたどらないように、ajaxLoader 関数は false を返す必要があります。

于 2009-11-17T01:26:46.330 に答える
0

コードをローカルで実行している場合、ステータス 200 ではなくステータス 0 が返されます。両方を処理するには、次を使用できます。

if (x.readyState == 4 && (x.status == 0 || x.status == 200))

また、リンクをクリックすると、キャンセルしていないのでリンクがたどられます。href が「#」であるため、同じページの先頭に移動しますが、それでも問題が発生する可能性があります。(副作用の 1 つは、リンクを押すとページが一番上にスクロールすることです。) クリック イベントから false を返すことによって、リンクがたどられないようにキャンセルします。

onclick="ajaxLoader('guestBook.txt');return false;"
于 2009-11-17T01:33:15.637 に答える
0

それを取り除いてみてくださいif(document.getElementById)

あなたの.responseText財産を警告できますか?同期パターンを使用して動作しますか?

于 2009-11-17T01:23:05.247 に答える