把1000条数据一次性提交给后台

您所在的位置:网站首页 frequency函数用法示例手工输入 把1000条数据一次性提交给后台

把1000条数据一次性提交给后台

2023-06-10 20:27| 来源: 网络整理| 查看: 265

 

以上代码存在的一个问题是你使用了同步的 AJAX 请求,这会导致整个浏览器 UI 被卡住,包括直接修改进度条 CSS 的操作也无法响应。此外,你使用了 for 循环来循环提交请求,这样会在瞬间向后台发送大量的请求,可能会导致后台被卡死。

为了解决这些问题,你可以考虑使用异步的 AJAX 请求,并使用回调函数来处理每个请求的结果。此外,你还可以考虑使用队列来依次处理每个请求,以确保不会同时向后台发送过多的请求。

具体来说,你可以使用 jQuery 的 .ajax() 函数来发送异步的 AJAX 请求,然后在每个请求的回调函数中处理请求结果。在处理完当前请求后,你可以将其从队列中删除并继续处理下一个请求。以下是一个简单的示例代码:

var uploadQueue = []; function uploadNext() { if (uploadQueue.length > 0) { var item = uploadQueue.shift(); $.ajax({ type: "POST", contentType: 'application/json', url: "xxxxxx", dataType: 'json', success: function (res) { // 处理请求结果 if (res.msg == "error") { result = false; } else { uploadNext(); } }, }); } } $("#btn_UpLoad").on('click', function () { //按钮响应 var result = true; for (var i = 0; i < 1000; i++) { uploadQueue.push(i); } uploadNext(); });

在这个代码示例中,我们首先定义了一个数组 uploadQueue,用于存储要上传的数据。在按钮点击事件中,我们将每个数据项添加到 uploadQueue 数组中。然后我们调用 uploadNext 函数来处理队列中的请求。uploadNext 函数会从队列中取出第一个请求,并使用 $.ajax() 函数发送异步的 AJAX 请求。在每个请求的回调函数中,我们处理请求结果,并调用 uploadNext 函数来处理下一个请求。如果请求失败,我们将 result 设置为 false,并退出循环。如果所有请求都成功完成,我们将 result 设置为 true。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3