使用Ajax返回数据在jQuery中不起作用

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

My.php

?php echo '
My Title
'; echo '
My message
'; ?>

我尝试提取标题和消息,所以我的代码在下面。

     $(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); } }); });    

问题是当我试图提醒时,它无法正常工作。 这个逻辑出了什么问题? 我应该使用其他function来提取标题和消息吗?

好的,请访问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); } 

如果响应在您编写时回复,那么我给您的代码将起作用。

您真的需要学习如何使用调试器( Firebug )并将断点放入代码中,这样您就可以使用控制台来测试选择器并查看变量的值等。另外,您应该真正回答原始问题和答案我给了而不是打开一个全新的问题,特别是因为你甚至没有交叉引用你的原文。

请尝试使用此代码:

 var oneval = $("#response #title").text(); var subval = $("#response #message").text();