我试图将data
选项的动态密钥传递给ajax调用。
data:{action:'add',id:10},
实际上我正在尝试创建全局函数,该函数可用于所有表以禁用特定行onClick
事件。为此,我需要为调用php函数添加不同的动作和表列名。所以我也希望传递密钥和值。
function globalDisable(id,table_column,call_action){
// call_action is use for calling the related php function
// table_column is use for calling the column name of that table
action_parm = {call_action:'disable',table_column:id}
$.ajax({
type:'POST',
url:'post.php',
data:action_parm,
success: function(response){
}
});
}
onclick="return globalDisable(10,'user_id','disableUser');"
$disableUser = (isset($_REQUEST['disableUser']))? (string)$_REQUEST['disableUser']:'not';
if($disableUser != 'not'){
$response->disArea($user_id);
}
当我运行该功能时,在控制台中不会将其保持不变call_action=disable&table_column=10
。
那么可以在ajax调用中为数据选项传递动态密钥吗?如果有人指导我这件事,我想表示感谢。谢谢
答案 0 :(得分:0)
而不是action_parm = {call_action:'disable',table_column:id}
,写:
var action_param = {};
action_param[call_action]='disable';
action_param[table_column]='id';
请参阅:How do I add a property to a JavaScript object using a variable as the name?
答案 1 :(得分:-1)
您将操作作为参数传递给函数,但之后在ajax调用中不使用它
function globalDisable(id,table_column,call_action){
// call_action is use for calling the related php function
// table_column is use for calling the column name of that table
$.ajax({
type:'POST',
url:'post.php',
data:{ call_action: call_action,
table_column: table_column,
user_id: id
},
success: function(response){
}
});
}
你可以这样做,也许你会发现它更容易阅读
$disableUser = (isset($_REQUEST['call_action']))? (string)$_REQUEST['call_action'] : 'not';
if($disableUser != 'not'){
$response->disArea($user_id);
}
同样在PHP中,您正在测试$ _REQUEST
中的错误参数convertImageToMP4 (Clip mediaIn, int duration, String outPath, ShellCallback sc)