我有一個JavaScript函數執行上一個下拉的變化:我不明白AJAX回調
<script type="text/javascript">
$(function()
{
// Executes when the status dropdown changes value
$('select[name="status_dropdown"]').change(function(event)
{
var $this = $(event.target);
var orderId = $this.closest('tr').children('td:eq(0)').text(); // index 0 refers to the "order_id column" in the table
var result = null;
var scriptUrl = "ajax_php/update_status.php?order_id=" + orderId + "&status_id=" + this.value;
$.ajax(
{
url: scriptUrl,
type: 'get',
dataType: 'html',
async: false,
success: function(data)
{
result = data;
alert(result);
}
});
});
})
</script>
我試圖讓警報調用顯示下面的PHP代碼的返回值(這是真實的):
<?php
.
.
.
return true;
?>
警報不會彈出。有人知道爲什麼?
檢查您的控制檯是否有錯誤並添加錯誤處理程序 – 2013-03-15 15:26:32
在我看來,您的問題在於您使用的是dataType:html,這意味着您是ajax請求,希望將html數據返回給它。如果返回無效的html(或者不是html的東西),成功函數永遠不會觸發,因爲從技術上講,它不能成功地接收它所期望的內容。 Ajax代表異步的JavaScript和xml(現在更常見的是Json),而且html不是你應該以這種方式來回發送的東西。此外,我只注意到asynch設置爲false ..只要此標誌設置爲false,天使就會死亡。爲什麼要使用ajax呢? – iAmClownShoe 2013-03-15 15:48:53
哦,異步的東西來自另一個帖子,我現在忘記了爲什麼我添加它:\我會刪除,謝謝! 所以你說我必須返回HTML而不是簡單的varialbe?我應該在PHP中回顯HTML? – user2170838 2013-03-15 15:57:30