0

コードで ajax を使用すると問題が発生します。index.php が値を ajax.js に渡してから、father.php に移動するという仕組みが想定されています。future.php では、ツリー図が生成され、index.php ページの div に表示されるはずです。これは、index.php で [さらに進む] をクリックしたときに実行する必要があります。ただし、これを試すと、出力が表示されるようになりました。div には境界線が指定されているため、さらに .php のツリー図が必要なときに div が空で表示されることがわかります。以下は、プロセスの前後の画像です。[さらに進む] をクリックして、theres.php から図を取得します。

画像 1: リンクをクリックして ajax 関数を呼び出す前の index.php。

画像 2: 空の div スクリーン ショット (テキストの下:「さらに進む」)。空の div の上の部分的な図は、ツリーがどのように見えるかです。ajax 関数が呼び出された後。空の div、つまり数字 1 の下の境界領域は、theres.js のツリー ダイアグラムが表示されるはずの場所です。

画像に表示されている図 1 は、画像 2 の次のテキストの下にあり、データが index.html から ajax.js を介して future.php に正常に渡されているかどうかを確認するためのテストです。表示されるこの図は、データが正常に渡されていることを示しています。しかし、必要な出力が表示されず、div が空になります。

これを修正するにはどうすればよいですか?

では、other.php の JavaScript コードのツリー ダイアグラムが表示されないのはなぜですか?

4

2 に答える 2

0

コードでajaxが機能しなかった理由。ajax応答の処理に関するコードの小さなバグ。

   function handleAjaxResponse()
{
    if (xmlhttp.readyState==4)
    {
        document.getElementById("output").innerHTML = xmlhttp.responseText;

    }else{
        document.getElementById("main").innerHTML = "";
    }
}

handleAjaxResponseメソッドで解決する必要のあるxmlhttp変数はありません 。これがエラーの理由です。以下のコードを参照してください。

xmlhttp.onreadystatechange = handleAjaxResponse(xmlhttp);

function handleAjaxResponse(xhr){
    console.log(xhr);   
}
于 2012-09-23T05:27:50.660 に答える
0

問題はどこにありますか?ajaxが機能していないだけですか?jQuery を学ぶのに時間がかかることをお勧めします。ajax や他の多くの JavaScript 関数を処理するのははるかに簡単です。そして、ajax 応答をテストするためのテスト ルーチンを作成します。を作成し、より複雑な関数によって生成された結果を渡す前に、単純な文字列がそこに渡されていることを確認してください。また、SQL インジェクションの問題を修正します。

意味をなさない 1 行のコード: $row2['Pid']; これは何をすることになっていますか?

于 2012-09-23T05:01:35.383 に答える