0

JQuery/Ajax を使用して PHP ファイルのコンテンツを div タグにロードできませんでした。

ファイルをロードしている私のページは次のとおりです。

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>

<script>
function init() {
    reloadChat();
    setInterval (reloadChat, 5000);
}

function reloadChat() {
    $.ajax({  
        url: "chat.php",  
        cache: false,  
        success: function(){
            $("#chatmenu").load("chat.php");
        },  
    });  
}
</script>

<body onLoad='init()'></body>

<div id='chatmenu'></div>

読み込んでいる PHP ファイル (chat.php) は同じフォルダーにあり、単なるエコー ステートメントです。

<?php echo "test"; ?>

私のJavascript関数に問題がないことを確認するために、success関数の下にアラートを追加しました.5秒ごとにアラートが表示されたので、loadステートメントに問題があると思います.

4

4 に答える 4

4

.load()すぐに使用できます。最初に Ajax リクエストを行う必要はありません。

function reloadChat() {
    $("#chatmenu").load("chat.php");  
}

アップデート:

あなたのコード例では、div要素の前に body-tag を閉じていることに気付きました。

<body onLoad='init()'></body> <!-- This ain't right --> 
<div id='chatmenu'></div>

代わりにこれを試してください:

<body onLoad='init()'>
    <div id='chatmenu'></div>
</body>
于 2012-07-15T15:53:07.263 に答える
2

これを試して:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>

<script>

function init() {
    reloadChat();
    setInterval (reloadChat, 5000);
}

function reloadChat() {
    $.ajax({  
        url: "chat.php",  
        cache: false,  
        success: function(response){
            $("#chatmenu").text(response);
        },  
    });  
}

</script>

<body onLoad='init()'></body>

<div id='chatmenu'>

</div>

また、神の愛のために、最新バージョンのjQueryを使用してください

于 2012-07-15T15:53:24.033 に答える
1

からの最初のリクエストで$.ajax「test」が返されるようで、それを の URL として使用しています$("#chatmenu").load

これを試して:

function reloadChat() {
    $.ajax({  
        url: "chat.php",  
        cache: false,  
        success: function(data){
            $("#chatmenu").append(data);
        },  
    });  
}

#chatmenuまたは、クリストファー・エリアソンによって投稿されたメソッドの内容を置き換えたい場合は、呼び出すだけで機能$("#chatmenu").load("chat.php")reloadChatます。

于 2012-07-15T16:08:14.650 に答える
0

すべてを一緒に入れて:

<!DOCTYPE html>
<html>
  <head></head>
  <body>
    <div id="chatmenu"></div>
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
    <script type="text/javascript">
      $(function() {
        setInterval (function() { 
           $("#chatmenu").load("chat.php");
        }, 5000);
      });
    </script>
  </body>
</html>
于 2012-07-15T15:54:05.937 に答える