一个ajax,请求多个url

2025-03-01 18:04:01
推荐回答(3个)
回答1:

不确定这个ajax请求是什么样的,是如题主例子一样只发送请求还是需要其他操作,比如回调。
如果只是单纯的需要一次性请求很多url,不需要回调,那么就把所有url写入一个数组,然后循环数组就好了,这样只需要在循环体里写一次 $.ajax
如果是需要其他操作,只是url不一样,有回调,那么就需要在ajax这个方法写到一个公共的函数里,这个函数接受url和callback两个参数,以后调用,只需要调用这个函数,传值url和回调即可。在这个了函数里配置默认参数,如果没有则使用默认参数,没有回调则不执行,如果回调操作也一样,那就如法炮制,把回调也写成单独的函数。大概代码:
function newAjax(url,callback){
$.ajax({url: url, callback: callback || null }) // 需要什么参数写上什么参数
}
//调用
newAjax('地址',回调)

回答2:

让url变成一个变量,通过判断使变量进行变化就行了

回答3:

// 方法1
const callback = (res, url)=>{console.log(res, url)}
const urls = [ ... ]
for(const url of urls){
    $.ajax({
    url,
    callback: res=>callback(res,url)
    })
}
// 方法2
let urls = [ ... ]
urls = urls.map(url=>$.ajax(url))
Promise.all(urls).then(res=>console.log(res))

// 方法3
参考$.when

注: 以上都是多个实例并发.
不存在一个请求实例,发送多个请求.