这可能是一个愚蠢的问题,但是当我做jquery post时,我无法找到一种方法将多个参数传递给函数。
我有类似的东西
$.post("<?php echo site_url("scores")/getScore/?>/", showScore);
我有一个php函数getScore,它将echos json_encode数据传递给javascript函数showScore。
理想情况下,我想做的事情是这样的:
var argument1 = 100;
$.post("<?php echo site_url("scores")/getScore/?>/", showScore(json_encoded_data_from_getScore, argument1));
答案 0 :(得分:1)
在您的案例中没有必要使用参数。
在上面的示例中,变量argument1
将在showScore(json_encoded_data_from_getScore)
内可见,因为它将关闭此函数。
如果你需要参数,你应该把你的函数调用包装成像这样的
var argument1 = 100;
var argument1 = 'foo bar';
$.post("<?php echo site_url("scores")/getScore/?>/",
function(theArgument1, theArgument2) {
// (2) arguments are in closure
return function(data) { // (3) this functions will be returned from self-called function
// and then called with parameter 'data' as success handler
showScore.call(this, data, theArgument1, theArgument2); // (4) it's time to invoke
// showScore with
// required parameters
}
}(argument1, argument2) // (1) this function calls itself to create closure
);