[英]ajax success callback not working
所以我有了這個JavaScript,它可以在$.ajax({
。然后它就掛在了加載器上,什么也沒有發生。
$(function() {
$('.com_submit').click(function() {
var comment = $("#comment").val();
var user_id = $("#user_id").val();
var perma_id = $("#perma_id").val();
var dataString = 'comment='+ comment + '&user_id='+ user_id + '&perma_id=' + perma_id;
if(comment=='') {
alert('Please Give Valid Details');
}
else {
$("#flash").show();
$("#flash").fadeIn(400).html('<img src="ajax-loader.gif" />Loading Comment...');
$.ajax({
type: "POST",
url: "commentajax.php",
data: dataString,
cache: false,
success: function(html){
alert('This works');
$("ol#update").append(html);
$("ol#update li:first").fadeIn("slow");
$("#flash").hide();
}
});
}
return false;
});
});
嘗試更換:
var dataString = 'comment='+ comment + '&user_id='+ user_id + '&perma_id=' + perma_id;
與:
var dataString = { comment: comment, user_id: user_id, perma_id: perma_id };
為了確保要發送到服務器的參數正確編碼。 還要確保您正在調用的commentajax.php
腳本運行正常,並且不會引發任何錯誤,在這種情況下,將不會執行成功處理程序,並且不會隱藏加載程序指示符。 實際上,隱藏加載指示符的最佳方法是使用complete
事件,而不是success
事件。 即使發生異常,也會觸發complete
事件。
還可以使用JavaScript調試工具(例如FireBug)來了解實際情況。 它將允許您查看實際的AJAX請求以及服務器如何響應。 它還會告訴您是否存在javascript錯誤等:您知道,當您進行啟用javascript的網絡開發時,這很有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.