我的 jQuery 中的变量范围问题

2023-12-27

从后端 PHP 脚本将变量作为二维 JSON 数组检索后,我遇到了变量范围的问题。这是我的代码:

var qns, qis, ncs, nzs, tps;

function get_questions() {
    var url = "php/pytania.php";
    $.ajax({
        cache: false,
        type: "GET",
        dataType: "text",
        url: url,
        success: function(response) {
            data = jQuery.parseJSON(response);
            qns = data.qns;
            qis = data.qis;
            ncs = data.ncs;
            nzs = data.nzs;
            tps = data.tps;
        }
    });
}

$(document).ready(function() {
    var index = 0;
    get_questions();
    $("#question_no").text(qns[index]);
});

当我最终尝试引用我的 qns 数组时,它显示变量未定义错误。然而它在 ajax 语句中工作 - 没有问题......

谢谢并保重! :)

Piotr.


问题是 success 方法被异步调用 - 这意味着在调用 $().ajax 并尝试引用该变量后,它尚未被分配,因为 success 回调方法尚未执行。

这可以通过将 async 选项设置为 false 来解决,如下所示:

$.ajax(
   {
      /* this option */
      async: false,
      cache: false,
      type: "GET",
      dataType: "text",
      url: url,
...

这意味着在收到响应之前,ajax 调用之后不会执行任何其他操作。另一种方法是将代码放置在成功回调方法本身中需要使用数组的位置。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我的 jQuery 中的变量范围问题 的相关文章

随机推荐

  • 是否可以序列化 C# 代码块?

    我正在使用 C NET http en wikipedia org wiki NET Framework3 5 是否可以序列化一段代码 将其传输到某个地方 反序列化 然后执行它 其用法示例如下 Action pauxPublish dele
  • git中如何忽略以#开头的文件

    我想知道是否有可能 如果可能的话如何实现 通过 gitignore 忽略 git 中以 开头的文件 我已经尝试过了 myfile 没有运气 这是正确的语法
  • 更改 MySQL 中的列数据类型而不丢失其他元数据(DEFAULT、NOTNULL...)

    If I do ALTER TABLE testtable MODIFY mycolumn NEWDATATYPE 我失去了其他定义 例如 NOT NULL COMMENTS DEFAULT 值 有没有办法做到这一点 在 PostgreSQ
  • Rails Paperclip 如何使用 ImageMagick 的滤镜选项?

    我最近用 Rails 实现了 Paperclip 并想尝试 ImageMagick 中的一些过滤器选项 例如blur http www imagemagick org Usage blur 我无法找到任何如何执行此操作的示例 它是否通过 s
  • 如何增加搜索栏值

    我想创建分为 5 个部分的搜索栏 below Average Average and Excellent 对于每一步 我都希望像这样的搜索栏一样增量 默认 0 最大值 100 i want seek bar values like this
  • 如何获得有关枚举单例的完整艾玛覆盖率报告?

    在 Java 中可以通过枚举来保证对象的唯一实例 如下所示 public enum EmmaTest public static int someStaticMethod return 33 如何对此类对象实现 100 Emma 测试覆盖率
  • 如何使 TimeField 时区感知?

    有时您需要收集用户的时间而不收集关联的日期 例如 如果用户正在配置每天同一时间运行的重复事件 姜戈的TimeField但不玩时区 但是 在这种特殊情况下 并且可能在您单独记录时间的任何时候 时区是一个重要因素 那么 如何存储时区感知时间 答
  • 具有两个类的 Seaborn 对角非对角 KDE

    我正在尝试查看两类不同变量的 Seaborn 对图 并且我希望看到非对角线上的 KDE 而不是散点图 该文档有有关如何执行 KDE 的说明all数据的 http seaborn pydata org generated seaborn Pa
  • 禁止 Outlook 字段打印

    我们为 Outlook 编写了一个插件 可将电子邮件归档到我们的 CRM 系统中 在此过程中 它将 Outlook 消息 ID 保存为消息本身的用户字段 eg currentUserProperty Constants APPLICATIO
  • 从 UITableView 播放视频

    我的主要目标是能够单击表视图项目并加载视频 表视图填充了文档目录的内容 我已经能够成功执行此操作并将文件名添加到单元格的标签中 我已使用以下代码完成此操作 void viewDidLoad super viewDidLoad NSArray
  • “版本”是 TRANSACT-SQL 中的保留字吗? (显示蓝色但不在保留字列表中)

    我正在写一个Stored Procedure今天写下了这行 SELECT pv1 Version FROM depl 和这个词Version变成蓝色如下图 所以我认为这是一个保留字 所以在这里进行了一些调查 保留关键字 TRANSACT S
  • 事件以另一种形式发生后更新一种形式

    我正在努力确定根据另一个表单中发生的事件更新一个表单的最佳方法 例如 我的应用程序有一个表单 显示零件列表 即库存 非库存等 ListView 我的应用程序还有一个表单 允许用户添加新部件 该应用程序不是MDI 每次从其他表单插入 更新或删
  • 我需要在 css 中有两个动画,一个在开始时,一个在悬停时,但它不起作用

    我有一个 div 元素 它有一个在启动页面时播放的动画 当我将鼠标悬停在它上面时 我想让它播放另一个动画 它工作得很好 但是当我将鼠标移出 div 元素时 它会再次播放起始动画 从屏幕淡入 keyframes div 0 opacity 0
  • 如何使用NET CORE和Refit上传文件

    当我使用 POSTMAN 发出请求时 我的 API 收到一个IList
  • 网络应用程序版本到底是什么?它有什么影响?

    在java web应用程序中 有一个名为web xml并且它有版本控制 这到底是什么 它是干什么用的 Here https stackoverflow com tags web xml info是 SO wikiweb xml 但这并不能真
  • Html Webpack 插件 - 如何将页眉/页脚 html 部分导入正文模板

    我正在尝试找出一种方法 让您可以拥有一个索引文件 在编译时将全局页眉和页脚加载到index html 文件中 这样我就不必每次都添加它 目前 这就是创建我的index html 文件的原因 new HtmlWebpackPlugin tit
  • 检查我的应用程序的通知是否正在运行

    有没有办法以编程方式检查我的应用程序的通知当前是否正在运行 如图所示 也就是说NotificationManager notify 被调用 有没有办法以编程方式检查我的应用程序的通知当前是否正在运行 如图所示 No 也就是说调用了Notif
  • OpenCV 错误:断言失败(size.width>0 && size.height>0)

    我按照官方教程以及以下链接编译并安装了 OpenCV 库opencv 安装 http www ozbotz org opencv installation 我使用了官方教程中提供的示例代码使用eclipse cdt include
  • 如何创建socket.io多播组

    我想用 socket io 模拟多播 我习惯使用 BSD 套接字 将文件描述符保存在 FD SET 中 并在事件循环中迭代它们以 send 或单独写入它们 如果我能用 javascript 做类比 我就会很高兴 关于如何存储 文件描述符 然
  • 我的 jQuery 中的变量范围问题

    从后端 PHP 脚本将变量作为二维 JSON 数组检索后 我遇到了变量范围的问题 这是我的代码 var qns qis ncs nzs tps function get questions var url php pytania php a