详谈Ajax请求中的async:false/true的作用(ajax 在外部调用问题)

发布时间 - 2026-01-10 22:58:07    点击率:

test.html

<a href="javascript:void(0)" rel="external nofollow" onmouseover="testAsync()">
asy.js

function testAsync(){
  var temp;
  $.ajax({
    async: false,  //同步请求
    type : "GET",
    url : 'tet.php',
    complete: function(msg){
      alert('complete');
    },
    success : function(data) {
      alert('success');
      temp=data;
    }
  });
  alert(temp);
}

 

tet.php

<?php
  echo "here is html code";
  sleep(5);
?>

说明

async: false,(默认是true);

如上:false为同步,这个 testAsync()方法中的Ajax请求将整个浏览器锁死,只有tet.php执行结束后,才可以执行其它操作。

当async: true 时,ajax请求是异步的。

但是其中有个问题:testAsync()中的ajax请求和其后面的操作是异步执行的,那么当tet.php还未执行完,就可能已经执行了 ajax请求后面的操作,如: alert(temp+'   end'); 然而,temp这个数据是在ajax请求success后才赋值的,结果,输出时会为空。

----------------------------------------------------

由于ajax默认为异步调用,所以很少能直接拿到ajax的返回值。但有时候由于业务需要还必须要通过ajax来拿,那么我这里提供两种方案。

具体方法:

1、就像通过设置async:false让其异步变同步;

2、可以将接下来需要使用到的参数在success之内执行。

这两种方案,你根据你项目的具体实际选择一个。

使用第一种相对来讲,假如你对性能要求不是太大可以选择。

以上这篇详谈Ajax请求中的async:false/true的作用(ajax 在外部调用问题)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# ajax请求  # async:false/true  # Python解惑之True和False详解  # javascript 使用正则test( )第一次是 true  # 第二次是false  # java 中 request.getSession(true、false、null)的区别  # 细数Ajax请求中的async:false和async:true的差异  # javascript中return  # return true  # return false三者的用法及区别  # Python返回真假值(True or False)小技巧  # C/C++实操True and false详解  # 给大家  # 是在  # 有个  # 就像  # 两种  # 太大  # 希望能  # 才可以  # 你对  # 还未  # 这篇  # 可以选择  # 后才  # 这两种  # 小编  # 第一种  # 让其  # 大家多多  # 为空  # 返回值 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Gemini怎么用新功能实时问答_Gemini实时问答使用【步骤】  绝密ChatGPT指令:手把手教你生成HR无法拒绝的求职信  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  网站制作大概多少钱一个,做一个平台网站大概多少钱?  奇安信“盘古石”团队突破 iOS 26.1 提权  Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives  Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程  Laravel怎么判断请求类型_Laravel Request isMethod用法  独立制作一个网站多少钱,建立网站需要花多少钱?  如何使用 Go 正则表达式精准提取括号内首个纯字母标识符(忽略数字与嵌套)  大连 网站制作,大连天途有线官网?  laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法  html5的keygen标签为什么废弃_替代方案说明【解答】  Laravel如何为API生成Swagger或OpenAPI文档  Laravel怎么调用外部API_Laravel Http Client客户端使用  Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】  C#如何调用原生C++ COM对象详解  php增删改查怎么学_零基础入门php数据库操作必知基础【教程】  如何在自有机房高效搭建专业网站?  Laravel怎么配置不同环境的数据库_Laravel本地测试与生产环境动态切换【方法】  小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像  微信小程序 配置文件详细介绍  Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】  Laravel如何使用Collections进行数据处理?(实用方法示例)  如何在局域网内绑定自建网站域名?  Laravel如何使用Passport实现OAuth2?(完整配置步骤)  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  香港服务器租用每月最低只需15元?  香港服务器部署网站为何提示未备案?  Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  深圳网站制作平台,深圳市做网站好的公司有哪些?  Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践  如何在建站宝盒中设置产品搜索功能?  如何用wdcp快速搭建高效网站?  免费视频制作网站,更新又快又好的免费电影网站?  WEB开发之注册页面验证码倒计时代码的实现  黑客如何通过漏洞一步步攻陷网站服务器?  网站页面设计需要考虑到这些问题  Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置  Laravel如何与Vue.js集成_Laravel + Vue前后端分离项目搭建指南  软银砸40亿美元收购DigitalBridge 强化AI资料中心布局  企业网站制作这些问题要关注  Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决  Laravel怎么配置.env环境变量_Laravel生产环境敏感数据保护与读取【方法】  Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道  百度浏览器网页无法复制文字怎么办 百度浏览器复制修复  Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】  Laravel如何实现API版本控制_Laravel API版本化路由设计策略  Swift中循环语句中的转移语句 break 和 continue