在第一次ajax成功后用其他ajax调用函数

call function with other ajax after first ajax success

本文关键字:ajax 其他 调用 函数 第一次 成功      更新时间:2023-09-26

你好,我在jquery 中有ajax调用

    $.ajax({
        url:   'route_process.php',
        cache: false,
        async: false,
        type:  'post',
        data:  id,
        dataType: 'html',
        success: function(data) {
            data = data.split("brk");
            sent_notification(data[1], data[2], data[3], data[4], data[5], data[6], data[7],data[8],data[9],data[10]);
            alert(data[0]); 
        },

成功后,我将获得一些数据,用于另一个ajax的功能。

    function sent_notification(type_search, insert_id_search, date_search_array_search, from_city_lat_search, from_city_lng_search, to_city_lat_search, to_city_lng_search, counting, insert_id_search2, date_search_array_search2) {
        $.ajax({
        url:     'sent_hike_drive_notification.php',
        cache:   false,
        type:    'post',
        async: true,
        data:   {type: type_search, insert_id: insert_id_search, date_search_array: date_search_array_search, from_city_lat: from_city_lat_search, from_city_lng: from_city_lng_search, to_city_lat: to_city_lat_search, to_city_lng: to_city_lng_search, counter: counting, insert_id2: insert_id_search2, date_search_array2:date_search_array_search2},
        dataType: 'html',
        success: function(data) {
            }
        });
    }

基本上,从下一个ajax开始,我不需要任何成功数据。无法运行异步。但有时我会从第一个函数和confrim OK浏览器冻结后收到警报(数据[0])。看起来它正在等待sent_notification函数中的ajax完成。但我不在乎第二个ajax的结果,它只是一些通知。正如我所说,这种情况只是偶尔发生,我认为这取决于第二次ajax执行时间。如何修改我的代码以在第一个ajax上获得成功,然后使用第一个ajax中的数据执行另一个ajax,而不需要任何浏览器冻结。我认为只需将异步转换为另一个ajax就可以了。谢谢

不要使用alert,因为它会阻塞执行线程。使用console.log("message here")调试