我如何传递这个特定的变量我正在使用jquery-ajax

时间:2012-09-16 18:47:14

标签: javascript ajax jquery

我想将“passedThisValue”传递给我的“start_battle”函数,并在“Rematch”中使用“start_battle”函数。但模式只是挂起为什么会发生这种情况?什么可能是错的?请帮忙! :)谢谢。

CODE:

function start_battle(){
    $.ajax({
        data: {
            receivePassedValue: passedThisValue
        },
        success: function(data){

        }
    });
}
$("#start_battle").click(function() {
    $.ajax({
        success: function(data){
            var toAppend = '';
            if(typeof data === "object"){
                var passedThisValue = '';
                for(var i=0;i<data.length;i++){
                    passedThisValue = data[i]['thisValue']; 
                }

                start_battle(); // can I still get the passedThisValue?

            }
        }
    });
    $("#battle").dialog({
        modal:true,
        buttons: {
            "Rematch": function(){
                start_battle(); // can I still get the passedThisValue?
            }
        }
    });
    $("#battle").show(500);
});

2 个答案:

答案 0 :(得分:2)

当您致电某个功能时,您不使用function start_battle();,只需使用start_battle();

将值传递给函数时,需要使用以下语法:start_battle(param1, param2);

当你想从函数中获取一个值时,需要在函数中返回它,如下所示:

function start_battle(param1) {
    // Do something
    return param1;
}

如果要存储函数的返回值,可以执行以下操作:var returned = start_battle(param1);

而且你不知道为什么modal会挂起的事实意味着你没有检查浏览器的错误控制台,这可以包含一些关于错误的非常重要的信息。尝试检查并在此处发布,以便我们可以看到当前的问题

答案 1 :(得分:1)

你的功能声明似乎有些偏差。我认为你应该从$开始function。就这样做

function start_battle() {

此外,当您调用某个函数时,您不会在它之前说function。如果要将值传递给函数,则必须在定义函数和调用函数时将其放在括号内。喜欢这个

function start_battle(someValue) {
    // do some stuff with someValue
}

// inside your .click, call start_battle like this
start_battle(passedThisValue);

非常基本的东西。但是这些问题中的任何一个都可能导致挂起,这可能是一个javascript错误。