iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > html >闭包如何解决jQuery中AJAX的外部变量问题
  • 207
分享到

闭包如何解决jQuery中AJAX的外部变量问题

2024-04-02 19:04:59 207人浏览 安东尼
摘要

这篇文章主要为大家展示了“闭包如何解决Jquery中ajax的外部变量问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“闭包如何解决jQuery中AJAX的外部

这篇文章主要为大家展示了“闭包如何解决Jqueryajax的外部变量问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“闭包如何解决jQuery中AJAX的外部变量问题”这篇文章吧。

在AJAX中,我们经常都要使用外部变量,经常会多次使用,如下代码

 function getCarInfo(){
      for(var i=0;i<4;i++){

        var carId = $("#carList0"+i+" #carId").val();
        var request = { 
          city: city,
          carId: carId
        };

        $.ajax({
           url:"enquiry",
          type:'post',
          data:request,
          //async: false,
          success:function(data){
            //alert(data);
            var strArr = data.split("#");
            $("#carList0"+i+" #distributorId").val(strArr[0]);
            $("#carList0"+i+" #font16").html(strArr[strArr.length-1]);
          }
        });

      }
    }

我期待的是按顺序alert(1) alert(2) alert(3) alert(4),但是实际上三次都是alert(4)

这均是由于AJAX异步导致的问题,设置同步(async: false,)就可以解决这个问题,但是随之而来的是,效率减低很多。这时可以轻松使用闭包解决问题:

function getCarInfo(){
      for(var i=0;i<4;i++){
      ((function(i){
        var carId = $("#carList0"+i+" #carId").val();
        var request = { 
          city: city,
          carId: carId
        };

        $.ajax({
           url:"enquiry",
          type:'post',
          data:request,
          //async: false,
          success:function(data){
            //alert(data);
            var strArr = data.split("#");
            $("#carList0"+i+" #distributorId").val(strArr[0]);
            $("#carList0"+i+" #font16").html(strArr[strArr.length-1]);
          }
        });
        }(i)));
      }
    }

以上是“闭包如何解决jQuery中AJAX的外部变量问题”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网html频道!

--结束END--

本文标题: 闭包如何解决jQuery中AJAX的外部变量问题

本文链接: https://www.lsjlt.com/news/76408.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 闭包如何解决jQuery中AJAX的外部变量问题
    这篇文章主要为大家展示了“闭包如何解决jQuery中AJAX的外部变量问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“闭包如何解决jQuery中AJAX的外部...
    99+
    2024-04-02
  • python 闭包中引用的变量值变更问题
    python的闭包当内层函数引用外层函数的局部变量时,要正确使用闭包,就要确保引用的局部变量在函数返回后不能变。如下:def count():     fs = []     for i in range(1, 4):         de...
    99+
    2023-01-31
    包中 变量值 python
  • IE jQuery AJAX乱码问题如何解决
    这篇文章主要讲解了“IE jQuery AJAX乱码问题如何解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“IE jQuery AJAX乱码问题如何解决”吧!1.字符转义问题在IE浏览器下...
    99+
    2023-07-05
  • Python编程中闭包的变量作用域问题解析
    目录闭包闭包中的变量闭包 ​ 在我们使用返回函数的时候,由于我们在一个函数中需要返回另一个函数,因此,我们在这个函数中就需要重新定义一个函数。而这样,就造成了我们的函数嵌...
    99+
    2024-04-02
  • AJAX中如何解决缓存问题
    这篇文章将为大家详细讲解有关AJAX中如何解决缓存问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。做一个项目用到Ajax,开始觉得挺好,后来发现一个问题,例如删除一项,...
    99+
    2024-04-02
  • Golang共享变量如何解决问题
    目录1. 什么是竞态 2. 如何消除竞态 3. Go 提供的并发工具 3.1 互斥锁 3.2 读写互斥锁 3.3 Once 3.4 竞态检测器 4. 小结 在之前的文章中,我们详细说...
    99+
    2024-04-02
  • JavaScript中子函数访问外部变量的3种解决方法
    前言 我们在写web页面时,肯定会经常遇到下面这种情况: <body> <div class="btns-wrapper"></div>...
    99+
    2024-04-02
  • 如何解决海外服务器变慢问题
    解决海外服务器变慢的问题可以通过以下方式来处理: 使用CDN加速:使用内容分发网络(CDN)可以将网站的静态内容缓存到全球各地的服...
    99+
    2024-04-28
    服务器 海外服务器
  • 如何解决IE下AJAX的问题
    这期内容当中小编将会给大家带来有关如何解决IE下AJAX的问题,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。 今天JS练手的时候,想封装一个...
    99+
    2024-04-02
  • 如何解决AJAX中文乱码问题
    本篇内容介绍了“如何解决AJAX中文乱码问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • Golang开发中如何解决共享变量问题
    目录1、什么是竞态2、如何消除竞态3、Go 提供的并发工具3.1 互斥锁3.2 读写互斥锁3.3 Once3.4 竞态检测器4、小结Go 语言中 goroutine + channe...
    99+
    2024-04-02
  • Ajax的跨域问题如何解决
    今天小编给大家分享一下Ajax的跨域问题如何解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。跨域问题如图所示,这是通过jq...
    99+
    2023-06-29
  • 如何解决JQuery Ajax执行跨域请求数据的问题
    这篇文章将为大家详细讲解有关如何解决JQuery Ajax执行跨域请求数据的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体如下原来的ajax请求如下:$.ajax...
    99+
    2024-04-02
  • 如何解决vue不是内部或外部命令的问题
    小编给大家分享一下如何解决vue不是内部或外部命令的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! ...
    99+
    2024-04-02
  • 如何解决jquery中ajax多次请求数据时不刷新的问题
    这篇文章主要为大家展示了“如何解决jquery中ajax多次请求数据时不刷新的问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何解决jquery中ajax多...
    99+
    2024-04-02
  • 如何解决jQuery同步Ajax带来的UI线程阻塞问题
    这篇文章主要介绍如何解决jQuery同步Ajax带来的UI线程阻塞问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!事情起因是这样的,因为页面上有多个相似的异步请求动作,本着提高代码...
    99+
    2024-04-02
  • 如何解决golang中关闭chan的问题
    学习Golang要努力,但是不要急!今天的这篇文章《如何解决golang中关闭chan的问题》将会介绍到等等知识点,如果你想深入学习Golang,可以关注我!我会持续更新相关文章的,希望对大家都能有...
    99+
    2024-04-04
  • 解决外部jar包@Service无法注解无法扫描的问题
    目录外部jar包@Service无法注解无法扫描问题在确保spring配置无误的情况下Service包中的组件无法被扫描到一般遇到service无法被扫描到有这么几个问题外部jar包...
    99+
    2024-04-02
  • java全局变量赋值问题如何解决
    在Java中,可以使用静态变量来实现全局变量的赋值。静态变量是指在类中使用关键字"static"声明的变量,它属于整个类而不是某个对...
    99+
    2023-08-29
    java
  • 如何轻松解决海外服务器变慢的问题
    解决海外服务器变慢的方法:1.带宽影响海外服务器变慢,可以通过增加租用的海外服务器的带宽来提供运行速度。2. 线路影响海外服务器变慢,国外可以采用国际带宽线路提高访问速度,国内选择专享线路有利于大陆群体访问。3. 硬件配置影响海外服务器变慢...
    99+
    2024-04-02
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作