Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将参数传递给ajaxed循环脚本?_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript 如何将参数传递给ajaxed循环脚本?

Javascript 如何将参数传递给ajaxed循环脚本?,javascript,jquery,ajax,Javascript,Jquery,Ajax,此函数获取一个参数并将其传递给此 $.arte({'ajax_url':'getRealTimeUpdates.php?activity_id='+id, 'on_success':updateLiveUpdates}).start(); [其中,这行代码从每台服务器发送UPADTE 作为jaxed循环的特定时间段] 当我使用一些参数调用函数showLiveUpdates(id)时,例如id=5,这行代码记住id=5,因为所有函数调用的参数甚至不同! 我希望每次使用不同的id调用函数时,这行代

此函数获取一个参数并将其传递给此

$.arte({'ajax_url':'getRealTimeUpdates.php?activity_id='+id, 'on_success':updateLiveUpdates}).start();
[其中,这行代码从每台服务器发送UPADTE 作为jaxed循环的特定时间段]

当我使用一些参数调用函数
showLiveUpdates(id)
时,例如
id=5
,这行代码记住id=5,因为所有函数调用的参数甚至不同! 我希望每次使用不同的
id
调用函数时,这行代码都能得到新的
id

{{其中arte是JQuery插件:Ajax实时扩展,这是它的网站}

js代码:

function showLiveUpdates(id)
{
    //$.arte().stop();

    $("#liveUpdates").fadeIn("slow");
    $("#liveUpdates").html("");
    $("#liveUpdates").append("<div><textarea rows='2' cols='49' id='txtLiveUpdates'></textarea></div>");
    $("#liveUpdates").append("<div><input type='button' id='btnliveUpdatesShare' value='share' onClick='addComment("+id+","+getCookie("userId")+")'></div>");
    last="";
    $.arte({'ajax_url':'getRealTimeUpdates.php?activity_id='+id, 'on_success':updateLiveUpdates}).start();

}
函数showLiveUpdates(id)
{
//$.arte().stop();
$(#liveUpdates”).fadeIn(“慢”);
$(“#liveUpdates”).html(“”);
$(“#liveUpdates”)。追加(“”);
$(“#liveUpdates”)。追加(“”);
last=“”;
$.arte({'ajax_url':'getRealTimeUpdates.php?活动_id='+id',on_success':updateLiveUpdates}).start();
}
我这样称呼它:

<input type='button' onClick='showLiveUpdates(<? echo $_GET["id"];?>)' />

这个怎么样?为
id
变量创建函数范围:

function createData(id) {
    return function () {
        return {
            'ajax_url':'getRealTimeUpdates.php?activity_id='+id,
            'on_success':updateLiveUpdates
        }
    }
}

for (var id = 0; id < 5; i++) {
    $.arte(createData(id)()).start();
}
函数createData(id){
返回函数(){
返回{
'ajax_url':'getRealTimeUpdates.php?活动\u id='+id,
“on_success”:updateLiveUpdates
}
}
}
对于(变量id=0;id<5;i++){
$.arte(createData(id)().start();
}
编辑1只需查看下面的代码

有一个被覆盖的共享
\u config
属性,并且使用的URL总是
\u config['ajax\u URL']

编辑2我已经发布了演示您的问题的帖子。因此,看起来无法多次调用此函数,因为内部状态是共享的


edit3我已经更新了一个JSFIDLE,试图让这段代码按照您的意愿工作。新代码不保持任何状态,并且(似乎)在3秒后终止之前成功运行了5个更新循环。

正在检查getRealTimeUpdates.php是否返回了不同的结果?是,但是我需要向getRealTimeUpdates.phpAre发送一个参数。你确定函数中的
id
每次都不同吗?当我看到jQuery沿着侧面的侵扰性事件绑定编写时,我会有点内疚。@Adam Terlson抱歉,我不理解“jQuery沿着侧面的侵扰性事件绑定编写”。。问题和可能的解决方案是什么?同样的,我认为问题出在这个函数“$.arte().start();”。。它能记住值。编辑后的答案如何?在循环中添加了内部函数和该函数的即时调用。函数createData(id){return function(){alert(id);return{'ajax_url':'getRealTimeUpdates.php?activity_id='+id',on_success:'updateLiveUpdates}}}}}alert work fine每次都会发送一个新的id,,但是函数返回相同的id!!!
ii
来自哪里?这将保留最后一个值,不是吗?您最好在
data
对象中传递
ii
和指示
last
的标志。我已经破解了arte插件,但使用风险自负。但它似乎起作用了!!当您尝试演示时,请确保已打开Firebug Net面板以查看正在激发的请求。
<?php  

require("database.php");
$activity_id=$_GET["activity_id"];
$query = "SELECT id,comment from comments where activity_id=$activity_id order by id desc limit 0,1";
echo $query;
$result = mysql_query($query);
$row = @mysql_fetch_assoc($result);
echo $row["id"]."-".$row["comment"];

?>
function createData(id) {
    return function () {
        return {
            'ajax_url':'getRealTimeUpdates.php?activity_id='+id,
            'on_success':updateLiveUpdates
        }
    }
}

for (var id = 0; id < 5; i++) {
    $.arte(createData(id)()).start();
}