jquery - 如何在 Ajax 调用之外使用来自 ajax 成功函数的响应数据

标签 jquery ajax

我有问题,当我进行ajax调用时,在成功函数中我得到json数据,我无法在成功函数中使用它

 $.ajax({
        type: 'GET',
        url: url,
        dataType: 'json',
        success: function (response) {
            getData[name] = response;

        }
    });
 alert(getData[name]);

我的问题是如何在ajax调用中使用getData

最佳答案

问题是默认情况下 Ajax 请求是异步的
这意味着ajax将开始请求 然后执行: alert(getData[name]); 然后在后台完成请求并调用 success 函数。

所以实际上警报将在成功函数之前执行。 为了做你想做的事,你必须告诉 ajax 在完成之前不要执行任何事情,在其他病房设置 async: false
第二件事是你必须在 ajax 范围之外声明变量,这样你就可以在 ajax 之外访问它

最终代码为:

var getData;
$.ajax({
        type: 'GET',
        url: url,
        dataType: 'json',
        async: false,
        success: function (response) {
            getData[name] = response;

        }
    });
 alert(getData[name]);

关于jquery - 如何在 Ajax 调用之外使用来自 ajax 成功函数的响应数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39637741/

相关文章:

表单提交上的 Javascript 警告消息

jquery - 页面滚动时的技能栏动画

javascript - Firefox 和 Malsup 提交表单时出现未定义错误

Jquery 模板

jquery - 使用 flex css 使用 jquery 打印时如何修复未对齐的 html div

javascript - 如何在元素数组上链接 jQuery addClass() 和 removeClass()

javascript - 尝试发出 Ajax 请求并在 React 组件中使用响应

javascript - 了解 CORS 安全性 : what's the use of server allowing browser cross-domain access?

php - 在分页数之间添加点

javascript - 在 asp.net web 表单中单击按钮时避免回发