2012-08-13 83 views
0

我使用$ .post将一些数据发布到服务器中,如果该php文件正常工作,则返回一些html代码片段。现在问题出在$ .post代码中。我无法将返回的数据从php文件插入到包含$ .post代码的原始文件中。 Firebug显示该html代码段确实会返回,但我在屏幕上看到了它。有什么问题?简单的AJAX POST返回HTML

这里是下面的代码用于包含.POST文件()

<script type="text/javascript" > 

$.post('ajax_send_band_request.php', { 

user_id : user_id, 
band_request: band_request, 
where_to_go: where_to_go, 
when_start: when_start, 
when_end: when_end, 
time: time 

}, function(data){ 

$(data).find('#message_return').appendTo("#response_from_request_verification") 

}) 

}); 

</script>   

<div id="response_from_request_verification"></div> 

下面是概括PHP文件版本。

if(this_function_sends the data to the server($register_data) === true); 

{ 

?> 

<div id="message_return">Request sent!!</div> 

<?php 

} else 

{ 

?> 

<div id="message_return">Request was not sent!</div>  

<?php 

} 

?> 

回答

4

取出.find()一部分,你已经拥有了div#message_return以$(数据)。 .find()不检查匹配的根元素,只是后代。

$(data).appendTo("#response_from_request_verification") 
+0

谢谢。有用! – jason328 2012-08-13 05:35:56

+0

实际上这可能是一个有效的点,假设当然汇总的php确实显示了文档的顶部/结尾,并且没有其他标题等。 – 2012-08-13 05:36:04

+0

哦,很酷,我在写作时的反应。你不讨厌那个吗? :) – 2012-08-13 05:37:15

0

我在这里看到的唯一错误是失踪;在appendTo行上。

请确保您的代码中包含您的代码,然后我可以建议您使用像萤火虫这样的交互式调试器来运行它。

坐落在appendTo行设置一个断点,使用控制台来确保$(数据).find( '#message_return')是获得peice的你要等

0

试试这个: $( 'response_from_request_verification' )。html的(数据);
或 $('response_from_request_verification')。appendTo(data);

+0

大声笑..OP已经解决了问题 – asprin 2012-08-13 05:38:32

+0

此外,这将取代响应div的内容,而不是追加到它 – 2012-08-13 05:38:53