0

Ajax と jQuery を使用してコードを開発しました。my.php から応答があり、応答の値を抽出しようとしました。ここにコード(HTML):

My.php

?php
    echo '<div id="title">My Title </div>';
    echo '<div id="message"> My message </div>';
?>

タイトルとメッセージを抽出して、コードを以下に示します。

    <head>
        <script type="text/javascript" src="js/jquery-1.2.6.js"></script>
        <script type="text/javascript">
            $(document).ready(function() {
                alert("OK");

                $.ajax({
                    type:"POST",
                    url: "my.php",
                    cache:false ,
                    success: function(data){
                        $("#response").html(data);
                        var $response = $(data);
                        var oneval = $response.find('#title').text();
                        var subval = $response.find('#message').text();
                        alert(oneval);
                    }
                });
            });
        </script>
    </head>

    <body>
        <div id="response">
        </div>
    </body>
</html>

...

問題は、私が警告しようとしたときに、それが機能していないことです。このロジックの何が問題になっていますか? タイトルとメッセージを抽出するために別の関数を使用する必要がありますか?

4

3 に答える 3

1

OK、http://jsbin.com/udige/にアクセスすると、動作していることがわかります。

2 つの div が応答のルート要素であるため、キーは.filter.find ではなく .find を使用しています。私の間違い。

基本的に次のことを行います。

success: function(data){
    $("#response").html(data);
    var $response = $(data);
    var oneval = $response.filter('#title').text();
    var subval = $response.filter('#message').text();
    alert(oneval);
}
于 2008-12-31T10:44:48.407 に答える
0

あなたが書いたとおりに応答が返ってきたら、私があなたに与えたコードは機能します。

コンソールを使用してセレクターをテストしたり、変数の値を確認したりできるように、デバッガー ( Firebug )の使用方法とコードにブレークポイントを配置する方法を実際に学ぶ必要があります。また、元の質問と回答に実際に回答する必要があります。特にあなたはオリジナルを相互参照していないので、まったく新しい質問を開くのではなく、私が与えたものです。

于 2008-12-31T08:55:39.250 に答える
-1

代わりにこれを使用してみてください:

var oneval = $("#response #title").text();
var subval = $("#response #message").text();
于 2008-12-31T08:02:34.193 に答える