📅  最后修改于: 2023-12-03 15:24:53.168000             🧑  作者: Mango
开发中使用 jQuery 发送 AJAX 请求是非常常见的一种方式。当我们发送 POST 请求时,可能需要等待一些必要的信息加载完成后再发送请求,否则会发生一些错误。本文将介绍如何等到 jQuery POST 请求发出。
我们可以使用 Promise 对象来等待必要的信息加载完成后再发送 POST 请求。
function sendPostRequest() {
return new Promise(function(resolve, reject) {
// wait until necessary data is loaded
// 等待必要数据加载完成
$.when(loadNecessaryData()).then(function() {
$.post("/api/data", function(data) {
resolve(data);
}).fail(function() {
reject("Error: Unable to send POST request");
});
});
});
}
上述代码中,loadNecessaryData()
表示加载必要数据的函数,返回完成后通过 $.when()
方法包装起来,以便 resolve()
和 reject()
能够在请求成功或失败时使用。然后,$.post()
方法负责发送 POST 请求。在请求成功时,resolve()
方法将返回数据,而在请求失败时,reject()
方法将返回错误信息。
我们也可以使用回调函数来等待必要的信息加载完成后再发送 POST 请求。
function sendPostRequest(callback) {
// wait until necessary data is loaded
// 等待必要数据加载完成
$.when(loadNecessaryData()).then(function() {
$.post("/api/data", function(data) {
callback(data, null);
}).fail(function() {
callback(null, "Error: Unable to send POST request");
});
});
}
上述代码中,callback
表示回调函数,用于获取请求成功或失败后的数据和错误信息。loadNecessaryData()
函数仍然是加载必要数据的函数,返回完成后通过 $.when()
方法包装起来。然后,$.post()
方法负责发送 POST 请求。在请求成功时,回调函数将返回数据和 null
,而在请求失败时,回调函数将返回 null
和错误信息。
以上就是等待 jQuery POST 请求发送的两种方式 - 使用 Promise 和回调函数。无论你选择哪种方式,你都可以等待必要的信息加载完成后再发送 POST 请求。