Tag: 异步

更改函数中jQuery内的Javascript异步函数返回undefined

如何在jQuery .change函数中调用异步函数? 我尝试了以下内容,它让我“未定义”…… async function getData(){ try { return await $.getJSON(‘./data.json’).promise(); } catch(error) { console.log(“error” + error); throw error; } finally { alert(“done”); } } 这是JSON的一个例子: { “stuff”: { “First”: { “FirstA”: { “year”: [2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017], “Categories”: [“Suspension”, “Electrical”, “Performance”, “Motor”] }, “FirstB”: { “year”: [2007, […]

在使用jQuery运行代码之前等待AJAX​​调用

我正在使用一些JSON,在我的其余代码运行之前我需要这些信息。 我对jQuery很新,所以一直在查看$ .when()并将AJAX异步设置为false(这可能不是最佳选择)。 我也有一个问题,我的变量在我的AJAX调用之外是未定义的。 这是我的代码 – 任何帮助/建议将非常感激。 //在进行AJAX调用时不显示任何内容(将在此处添加加载微调器) $(‘body’).css(‘display’,’none’); // Ajax调用加载图像 var test = $.ajax({ dataType: “json”, url: “../quiz/scripts/test.json”, success: function() { console.log(“Loaded in AJAX”); var results = test.responseJSON.Items.Pics; console.log(results); $(‘body’).css(‘display’,’block’); } }); //尝试检索我的结果变量 console.log(“Loaded Outside of AJAX”); console.log(results); 控制台给我这个: Loaded Outside of AJAX [VM] quiz.js (23396):18 Uncaught ReferenceError: results is not defined [VM] quiz.js […]

尝试加载“div”作为动态内容

我有一个PHP程序,它执行一系列密钥驱动的SSH连接(作为Apache用户www-data),并在远程服务器上执行脚本,检查一对服务/守护进程的状态。 根据报告的状态“运行”或“已停止”,函数确定应在div表格单元格内显示的相应图像,绿色检查或红色“x”。 它看起来像这样: 问题是轮询了9个服务器,并动态构建了18个div表格单元。 我想刷新/显示每个div,因为从每个SSH调用返回数据。 这是PHP代码,其中每个SSH调用都包含插入结果的div: $cmd_string=buildServiceCallString($distIP, “VolCreationService”,”serviceCheck”); echo “”; echo “”; $cmd_output=shell_exec($cmd_string); echo “VolCreationService: “; $cmd_output=””; echo “”; //end statTableCell echo “”; //end statTableRow 我已经努力了解jQuery .load()方法,但还没有点击。 我想这将涉及一个回调,但我不明白如何通过异步调用访问和显示元素。 任何意见是极大的赞赏! -TU

如何使用多个并行$ .post和async lib管理时序依赖性?

我有这个jQuery代码,其中第二个$.post()依赖于第一个$.post()执行,这可能是一个问题,如果第一个尚未完成或执行期间失败或之前的第二个启动。 也许我可以使用某种链式调用来解决这个问题,但我认为它根本不是很好。 如何使用适用于考试的Coalan Async ? var paisesFromEntity; $.post(Routing.generate(‘productoGuardarPasoCinco’), $form.serialize(), ‘json’).done(function (data, textStatus, jqXHR) { if (data.entities !== “undefined” || data.entities != “”) { paisesFromEntity = data.entities.paises; } }).fail(function () { return false; }); var returnList = function (entities) { if (entities.length > 0) { var items = []; entities.forEach(function (value, index, array) { items.push(value.pais); }); […]

$ .post不起作用(任何地方)! 为什么?

我对$ .post的调用并不适用于我的代码。 我没有将请求发送到其他域,实际上,我正在做一些localhosted。 我的localhost别名由Mac OS X 10.8自动定义为ramon.local ,我从http://ramon.local/linkebuy_0.7/resourceX请求http://ramon.local/linkebuy_0.7/resourceY 。 Chrome控制台上没有错误。 服务器端没有收到请求,我可以通过直接从浏览器访问(键入URL)来检查它。 这不只是一个不起作用的电话,它们都不是。 他们都在几天前工作,我怀疑我不小心改变了我当地的设置。 会是什么呢? 这是我面临的一个例子: $.post( <>, {}, function(response) { console.log(‘THIS SHOULD BE PRINTED ON CONSOLE’); alert(‘THIS SHOULD BE POPPED UP’); } ); 在运行上面的代码时,我没有收到警报,也没有控制台消息。 所以我尝试了以下内容: $.support.cors = true; $.ajax({ url: “http://ramon.local/linkebuy_0.7”, dataType: “json”, type: “GET”, crossDomain: true, success: function (data) { console.log(data); }, error: function […]

等待异步结果

我厌倦了以下问题: 我使用facebook函数FB.api()在Facebooks API中查询某些权限。 我想在继续进行一些测试之前等待结果。我的目标是创建一个小助手类来调用这个类经常使用的函数: var fbHelper = { hasPermission: function(permission) { var hasPermission = false; var requestedPermissions = false; var permissions = { }; FB.api(‘/me/permissions’, function(response){ permissions = response; requestedPermissions = true; return response; }); if(permissions){ // make some checking stuff here return hasPermission; } else { console.log(‘failed to /me/permissions’); return false; } } } […]

我怎么能把它写成jQuery deffered函数

我需要获取数据库中的所有表,然后逐个删除它们。 但是每个DROP TABLE都是asnyc。 最重要的是,只有在删除了所有表后才能解析返回的promise。 clear: function() { var dfd = $.Deferred(); var sql = “SELECT name FROM sqlite_master WHERE type=’table’ AND name != ?”, args = [“__WebKitDatabaseInfoTable__”]; var dbTableNamesResult = function(tx, result) { var dropSql = “”; for (var i = 0; i < result.rows.length; i++) { dropSql = "DROP TABLE IF EXISTS " + […]

多个ajax和非ajax函数之后的回调

我正在学习在两个函数成功结果之后执行回调,其中一个是ajax,一个是非ajax(两者都是异步的)。 在我的脚本中有一个非ajax调用,用于在程序开始时加载多个图像,以及一个ajax(JQuery)调用,用于向脚本中的变量请求带有数据的JSON。 我发现了JQuery的when()函数用于进行多个ajax调用,并且我发现这个答案是为了在回调之前发出多个请求,这可能是可以攻击的。 我正在追逐我的尾巴并寻找关于是否或如何使函数在多个混合函数之后执行回调的一些建议。 提前感谢您的想法!

带参数的两个异步Javascript函数

我的问题完全取决于之前的问题 : 关于方法号3(“计数器”方法):如果handleCompletion需要来自startOtherAsync的值才能完成其工作。 我们怎样才能实现呢? 请注意,来自startOtherAsync (可能是参数)的值将使startAsync悲伤并且无法再调用handleCompletion 。

需要FineUploader方法uploadStoredFiles才能在继续之前完成

对于一些快速背景,uploadStoredFiles()是FineUploader插件中用于异步将附加文件数据发送到服务器路径的方法。 我也在为我的应用程序使用AngularJS。 我的问题实际上与这里发现的问题非常相似…… jQuery:等待函数完成继续处理? …最大的区别是我无法访问回调函数本身。 此外,我的脚本运行FineUploader作为一个更大的表单的一部分,其中附件是可选的,所以使用FineUploader’完成’回调也没有多大帮助。 这是一个代码示例。 基本上,如果没有附件,那么页面应该重新加载。 如果有附件,则应上传,然后重新加载页面。 if(hasAttachments) { myuploader.uploadStoredFiles(); } //AngularJS call to refresh page $route.reload(); 大多数情况下,页面会刷新自身并且文件在其列表中丢失,直到我稍后再进行额外刷新。 我可以硬编码等待时间,但有些事情看起来效率低下且很邪恶。 欢迎任何建议或解决方案。 我特别喜欢Angular-ish解决方案,但我会采取我能得到的。