javascript - Ajax请求和回调更新同时触发

标签 javascript ajax jquery callback

我有一些按以下方式定义的提交按钮:

<input id="add_200,231" type="submit" onclick="updatePage(401,27371,200,231)" value="Add"/>

“onclick”中引用的相应 JavaScript 函数如下所示:

function updatePage(slac,sci,tlac,tci) {
    var url = '/neighbouring?.state=add_cell&source=' + slac + ',' + sci +'&target='+ tlac + ',' + tci + '&dummy='+(new Date()).getTime();

    new Ajax.Request(url,{
        onComplete: triggerContentUpdate(slac,sci)      
    });
}

function triggerContentUpdate(slac,sci) {
    var updates = document.getElementsByClassName('update_on_add');
    for (var i = 0; i < updates.length; i++) {
        var uid = updates[i].id;
        var url = '/neighbouring?.state=update_template&divid=' + uid + '&source='+slac + ',' +sci + '&dummy='+(new Date()).getTime();
        var uAjax = new Ajax.Updater(uid,url,{ method: 'get'});

    }
}

需要更新的元素带有“update_on_add”类标签。

当使用Firebug时,我可以看到updatePage()中的Ajax.Request以及triggerContentUpdate()函数中的Ajax.Update被同时调用。我本来希望只在 Ajax.Request 完成后调用triggerContentUpdate()。

我在这里遗漏了什么吗?

最佳答案

你的线路

onComplete: triggerContentUpdate(slac,sci) 

应该是

onComplete: function() { triggerContentUpdate(slac,sci); }

您将立即调用该函数并将其返回值分配给 onComplete 成员。

关于javascript - Ajax请求和回调更新同时触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1376059/

相关文章:

javascript - 使用谷歌地图将 PHP 变量转换为 Wordpress 中的 JS

javascript - 使用 js 变量或用户输入来更改 Bootstrap 日期选择器中的日期格式

PHP 和 AJAX 安全问题

php - 在一个查询中将多个表作为单独的对象获取

javascript - Bootstrap 模态页眉和页脚未附加到正文

javascript - 如何使用jquery缩放相同质量的图像?

javascript - 如何使用asp.net动态添加链接按钮并在gridview中传递参数?

javascript - AJAX 就绪状态 4 和状态 0

jquery - 如果链接仅显示源代码并将其连接到我的 html,如何下载 Jquery

javascript - 如何使用coffeescript或javascript读取json文件/解析的值以在d3 java脚本中使用