你好,我在 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开始,我不需要任何成功数据。可以异步运行。但有时会发生这种情况,我会从第一个函数中收到警报(数据[0]),并在确认确定后浏览器卡住。看起来它正在 send_notification 函数内等待 ajax 完成。但我不关心第二个 ajax 的结果,它只是一些通知。正如我所说,这种情况只是有时发生,我认为这取决于第二个 ajax 执行时间。如何修改我的代码以在第一个ajax上获得成功,然后使用第一个ajax中的数据执行另一个ajax,而不会出现任何浏览器卡住。我认为只需将 async 设置为 ture 到另一个 ajax 应该就可以了。谢谢
最佳答案
不要使用警报,因为它会阻塞执行线程。使用 console.log("message here") 进行调试
关于javascript - 第一次ajax成功后与其他ajax调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26000933/