簡體   English   中英

在ajax load()之后調用函數

[英]Call function after ajax load()

我在ajax load()之后啟動一個函數,但是我親密的函數調用了另一個函數,該函數不起作用。 load()之后如何啟動ajaxstuff() load()

function ajaxstuff(data) {
    $.ajax({
        type: "POST",
        url: "do-it.php",
        data: {data},
        success: function() {
            console.log('I got this far'); // this doesn't work / isn't called
        }
    });
}

function doit() {
    $('form').submit(function(e) {
        e.preventDefault();
        var formData = new FormData(this);
        console.log('I got this far'); // this works
        ajaxstuff(formData);
    }
}

$('.popup-loader').click(function() {
    $(this).append('<div class="popup"></div>');
    $('.popup').load('popup.php', function() {
        doit(); // this works
    }
});

ajaxstuff函數中的語法錯誤。 data: {data},可能應該是data: data,

另外,當您將FormData對象傳遞給$ .ajax時,還必須指定processData: falsecontentType: false

$.ajax({
    type: "POST",
    url: "do-it.php",
    data: data,
    processData: false,
    contentType: false,
    success: function() {
        console.log('I got this far'); 
    }
});

檢查控制台中是否有錯誤,以及在AJAX中添加async選項。 將其設置為FALSE(“將async設置為false意味着您要調用的語句必須先完成才能調用函數中的下一條語句”):

function ajaxstuff(data) {
    $.ajax({
        async: false,
        type: "POST",
        url: "do-it.php",
        data: data,
        success: function(result) {
             console.log(result); //check in your console for errors
        }
    });
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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