0

我用 Ajax 和 jQuery 开发了代码。我收到了来自 my.php 的响应,我尝试提取响应的值。这里的代码(HTML):

我的.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

好的,去http://jsbin.com/udige/你可以看到它工作。

关键是使用.filter,而不是 .find,因为这两个 div 是响应中的根元素。我的错。

基本上做到以下几点:

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 回答