在数据库中,我有一个键数组,用于从其他表中获取数据。数组中的项目数各不相同。
所以,我可以动态设置多个变量:
var keys = ["3958d9d0kdjcu4","49djs40dksnhjd","fjfjfjtnncxkshe"]
for(var i = 0; i < keys.length; i++) {
window.keys[i] = i;
}
但是,如何链接不确定数量的 $.get 请求?:
var A = $.get("db.url?id=key0");
var B = $.get("db.url?id=key1");
var C = $.get("db.url?id=key2");
// etc.
$.when( A, B, C).done(function(A, B, C) {
//...
});
最佳答案
要对不确定数量的请求执行此操作,请放置从 $.get()
(或 $.ajax()
或 $.post()
) 到一个数组中,然后将该数组应用于 $.when()
,如下所示:
var requests = [];
for (var i = 0; i < requestsToBeMade; i++) {
requests.push($.get(`db.url?id=key${i}`));
}
$.when.apply($, requests).done(function() {
// do some work here...
});
但是,虽然这可行,但并不理想。您不应该像这样快速连续地发出多个 AJAX 请求,因为它会给服务器带来必要的负载,并且不会扩展。
更好的解决方案是合并您发送的所有数据并发出单个请求。
关于jquery - $.get 请求数量未知;如何有效上链?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55503133/