2012-08-13 89 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