`

JQuery中使用Ajax赋值给全局变量异常解决方案

阅读更多
来自:http://www.wlcrane.com/
我们在用JQuery的Ajax从后台提取数据后想把它赋值给全局变量,但是却怎么都赋不进,为什么呢?

  原因其实很简单,我们用的Ajax是异步操作,也就是说在你赋值的时候数据还没提取出来,你当然赋不进去,所以只要改成同步操作就行~

方法1:先设置同步在进行Ajax操作

//在全局或某个需要的函数内设置Ajax异步为false,也就是同步
$.ajaxSetup({
    async : false
}); 
//然后再进行你的Ajax操作
$.post(地址, 参数, function(data, status) {
    if (status == "success") {
        //赋值给全局变量
    }
    else {
        alert("wrong");
    }
});
方法2:直接用$.ajax

$.ajax({
    type : "post",
    url :地址,
    data : "参数" + 参数的值,
    async : false,
    success : function(data){
        //赋值给全局变量;
     }
});
分享到:
评论

相关推荐

    JQuery中使用Ajax赋值给全局变量异常的解决方法

    在JavaScript和JQuery中,全局变量通常用于存储在整个应用程序中都可以访问的数据。然而,当涉及到异步操作,如Ajax请求时,赋值给全局变量可能会遇到一些问题。这是因为Ajax请求是非阻塞的,即它不会立即返回结果,...

    JQuery中使用Ajax赋值给全局变量失败异常的解决方法

    我们在用JQuery的Ajax从后台提取数据后想把它赋值给全局变量,但是却怎么都赋不进,为什么呢? 原因其实很简单,我们用的Ajax是异步操作,也就是说在你赋值的时候数据还没提取出来,你当然赋不进去,所以只要改成...

    浅析jquery ajax异步调用方法中不能给全局变量赋值的原因及解决方法

    然而,在使用jQuery的AJAX方法时,开发者经常遇到一个问题,即无法在异步调用中正确地给全局变量赋值。本文将深入探讨这个问题的原因,并提供相应的解决方案。 首先,我们需要理解AJAX的本质。AJAX的核心在于其异步...

    Ajax获取回调函数无法赋值给全局变量的问题

    因此,当我们尝试在Ajax请求外直接赋值全局变量时,由于Ajax请求尚未完成,数据尚未返回,所以赋值操作往往是无效的。这也就解释了为什么描述中提到的`data1`总是在回调函数中的`data`之前弹出。 例如,假设我们有...

    ajax异步回调函数中给外部变量赋值的问题探讨

    针对ajax异步回调函数中给外部变量赋值的问题,还可以使用一些现代JavaScript的特性来解决。例如,Promise对象提供了一种管理异步操作的方法。通过创建一个Promise实例,我们可以将异步操作的结果与相关联的then()或...

    jquery中获得$.ajax()事件返回的值并添加事件的方法

    4. 一旦全局变量中有数据,就可以在任何时候引用它,或者将其用于事件处理。 在本文提供的示例代码中,代码片段说明了如何通过全局变量获取和使用 $.ajax() 返回的数据。示例中定义了一个名为 a 的全局变量,并在 $...

    js+ajax+jquery笔记

    - **调用函数**:函数可以通过函数名直接调用,或者赋值给变量后再调用,还可以接收和返回参数。对于没有返回值的函数,其返回值是undefined。 5. **Form表单对象**: - **访问方式**:可以使用`document.forms[n...

    jQuery ajax 当async为false时解决同步操作失败的问题

    所以,应该使用一个全局变量来存储返回的结果,并在ajax请求之后访问这个变量来获取结果。 另外,通常不建议在实际开发中使用同步请求,尤其是在生产环境中,因为它会阻塞用户的操作,直到服务器响应。如果只是需要...

    在同一个页面使用多个不同的jQuery版本,让它们并存而不冲突

    一旦完成了上述步骤,就可以在页面中使用这些变量来调用不同版本的jQuery了。例如,如果需要使用1.6.2版本的jQuery来处理某些元素,可以这样写: ```javascript jQuery_1_6_2('selector').someMethod(); ``` 同理...

    jquery ajax 实例

    需要注意的是,实际使用时应该确保这些变量已经被正确赋值。 #### 五、AJAX请求类型 - **GET**:通常用于获取数据,安全性较高,但数据长度受限。 - **POST**:可以发送大量数据,适用于提交表单等场景。 - **PUT*...

    jquery开发入门整理(所需要了解的)

    - **使用缓存**:将经常使用的DOM元素存储在一个变量中,以减少选择器的使用。 - **事件委托**:使用事件委托代替直接绑定事件,以减少事件监听器的数量。 ### JavaScript使用心得汇总:从BOM和DOM谈起 - **BOM ...

    AJAX和jQuery动态加载数据的实现方法

    因为jQuery本身不能像Flask的url_for函数那样生成动态路径,所以需要通过其他方式获取当前的根路径,并将其赋值给一个全局变量供后续使用。 接下来,文章提到了如何使用getJSON方法发送GET请求。这是一种非常便捷的...

    jquery1.43源码分析(核心部分)[收集].pdf

    `return (window.jQuery = window.$ = jQuery)`这一行代码是将jQuery对象绑定到全局的`jQuery`和`$`变量上,使得用户可以方便地使用这两个符号进行操作。在Java相关的代码片段中,我们可以看到类似的对象赋值操作,...

    jQuery多图上传带ajax提交

    例如,使用`FileReader`对象的`readAsDataURL()`方法读取图片,将结果赋值给`data URL`,然后设置到`<img>`标签的`src`属性,实现图片预览。 ```javascript $("#uploadInput").on("change", function(e) { var ...

    jQuery压缩版和未压缩版

    - JavaScript中的函数是第一类公民,可以作为变量赋值、作为参数传递、作为返回值返回。jQuery中的许多功能都是通过函数实现的,如`$(document).ready()`。 5. **原型与原型链** - 每个JavaScript对象都有一个...

    关于解决jquery同步异步的问题

    在前端开发过程中,我们经常会使用到jQuery库来进行DOM操作及Ajax请求等。而在处理Ajax请求时,默认情况下jQuery的`$.ajax()`方法是采用异步的方式执行的,这对于大部分场景来说是非常合适的,因为这可以避免页面因...

Global site tag (gtag.js) - Google Analytics