我有一个函数成功地将值data_user_id
的{{1}}传递到2
但是,我认为.post语句的异步性质会以某种方式取出值,所以当我这样做时function getOptionsList(fieldname_validation,data_user_id)
函数中的.post,然后data_user_id将在接下来传递的函数中未定义。像这样:
getOptionsList
如何解决此问题?
答案 0 :(得分:2)
您已将data_user_id
声明为内部函数的参数,因此它与外部方法的参数不同。由于$.post
方法只会为回调提供3个参数,因此第四个参数将始终为undefined
(第三个参数将是jqXhr
个对象,我不相信是你期待)。
解决方案是删除此参数(也可能是fieldname_validation
):
function getOptionsList(fieldname_validation,data_user_id){
$.post('Controller.php',
{
action: 'get_options_list',
user: userJson
},
function(data, textStatus) {
showOptionsList(data, fieldname_validation, data_user_id);
$('#indicator').hide();
},
"json"
);
}