簡體   English   中英

ajax成功回調不起作用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM