【发布时间】:2017-11-17 08:09:48
【问题描述】:
我有一个 AJAX 请求,处理 AJAX 请求既复杂又冗长。问题是这个冗长的请求会冻结浏览器。我的意思是,当 AJAX 请求正在进行时,无论我单击页面上的任何链接/按钮还是在浏览器地址栏中键入同一网站的某个 Url,它什么都不做并继续等待 AJAX 请求响应,一旦 AJAX 响应返回其他进程开始在职的。我将 async: true 与 AJAX 请求一起使用。 这是我正在使用的代码。它是一个简单的页面,只有这个 jQuery AJAX 请求。我的服务器端 PHP。
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Test Page</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
</head>
<body>
<script type="text/javascript">
$(document).ready(function() {
$.ajax({
url: 'http://www.mywebsite.com/doprocessing',
async: true,
success: function () {
alert('done');
}
});
});
</script>
</body>
为什么会这样?我该如何解决这个问题?
PS:在你标记这个重复之前,我已经检查了 StackOverflow 上几乎所有类似的问题。在我的情况下没有解决方案有效(尽管大多数情况下的解决方案是使用我已经在使用的 async: true。
提前致谢,
【问题讨论】:
-
请显示您的 JavaScript 文件的其余部分。
-
你对你的 ajax 请求目标做了什么样的处理?
-
@EM-Creations 我已经更新了帖子,现在发布我的页面的完整 HTML。
-
@Pratansyah 它将邮件发送给不同的人(比如 10 个不同的人),它发送 10 个单独的邮件并且不使用 CC 或 BCC。
-
主页的正文是从 ajax 目标填充的?如果是这样,请确保在发送 10 封电子邮件之前目标页面的功能正常
标签: php jquery ajax asynchronous