当前位置: 首页 > 面试题库 >

Ajax请求不异步

云宾鸿
2023-03-14
问题内容

我有一个ajax问题:

foreach(ids as id){
  $.ajax({
    url:'script.php',
    data:'id='+id,
    cache:false,
  });
}

如果循环6次(在我的foreach循环中),我应该对服务器发出6个异步请求。但是在这种情况下,ajax调用是同步调用的,而不是异步调用的。有人知道为什么会这样吗?


问题答案:

好,谢谢。经过几个小时的分析和反思,我意识到了为什么该脚本会同步运行:我打开script.php文件,并注意到了这一点以及该文件的开头:

<?php
session_start();
$var1=$_SESSION['SOMEVAR'];
.......
//do php script.....

.......
?>

因此,我对使用会话的php脚本进行了并行ajax调用,但是在这种情况下,会话会锁定由于会话vars请求而同步执行的调用,因此此问题的解决方案是:

<?php
session_start();
$var1=$_SESSION['SOMEVAR'];
//get all session var
......
session_write_close();//then close it
.......
//do php script.....

.......
?>

使用session_write_close我有我的脚本以异步方式进行ajax调用。一个很好的解释在这里http://konrness.com/php5/how-
to-prevent-blocking-php-requests/



 类似资料:
  • 手动编写一个ajax,不依赖第三方库 跨域的几种实现方式 知识点 XMLHttpRequest var xhr = new XMLHttpRequest(); xhr.open("GET","/api",false) xhr.onreadystatechange = function () { //这里的函数异步执行,可参考之前JS基础的异步模块 if(xhr.readyState ==

  • 本文向大家介绍ajax异步请求详解,包括了ajax异步请求详解的使用技巧和注意事项,需要的朋友参考一下 做前端开发的朋友对于ajax异步更新一定印象深刻,作为刚入坑的小白,今天就和大家一起聊聊关于ajax异步请求的那点事。既然是ajax就少不了jQuery的知识,推荐大家访问www.w3school.com学习,教程完善,适合初学者快速入门。 jQuery的引用,可以通过下载js文件导入,或通过外

  • 问题内容: 同步请求和异步请求之间的性能(速度方面)是否有差异? 使用异步请求的所有原因是什么? 问题答案: 您应该始终使用异步Ajax请求,实际上,我只知道应该使用同步Ajax请求的一个地方,即您是否在Ajax请求中,将新的JavaScript文件嵌入客户端,然后引用类型和/或原始Ajax请求返回的JavaScript文件中的对象。然后,应该(或可以理智地)通过使用同步Ajax请求包括对这个新J

  • jsf/primefaces应用程序中存在Ajax问题。 下面是我们的场景。 Primefaces面板- 谁能建议一下如何在不阻塞/锁定UI的情况下解决这个问题? 提前感谢。

  • 本文向大家介绍jquery请求servlet实现ajax异步请求的示例,包括了jquery请求servlet实现ajax异步请求的示例的使用技巧和注意事项,需要的朋友参考一下 ajax可以发送异步请求实现无刷新效果,但是使用javascript比较麻烦,就query提供了一些封装的方法 ,可以使得操作更为简单: $.ajax()方法: $.get()方法: $.post()方法: $.load()

  • 问题内容: 伙计们,我有一个小问题。我正在尝试实现以下方案: 用户打开主页,看到其他用户的列表,然后单击以将其添加到他的朋友列表。 我向服务器资源发出Ajax请求,以验证用户是否登录,如果是,我向另一个服务器资源发出另一个Ajax请求,以将其实际添加到用户的朋友列表中。 听起来很简单?这是我做的事情:创建了一个函数,该函数将向服务器发出第一个请求,以确定用户是否已登录。我使用方法发出此请求。这是我