如何将js变量作为键传递到选项数组


how to pass js variable as key into options array

我试图使用一个变量作为javascript swfupload对象的选项数组中的"键"值。ajax请求的接收页面在继续处理之前检查会话名称/id,因此这些值是必需的。

然而,由于会话名称是可变的,我不能只是静态地设置它。我正在尝试这样做:

var myid        = ".$php_pageid.";
var sessionid   = '".$php_sessionid."'; 
var sessionname = '".$php_sessionname."';
var swfu = new SWFUpload({
    // Backend Settings
    upload_url: "index.php",
    post_params: 
    {
        "task" : "ajaxUpload",
        "id" : myid, 
        sessionname : sessionid 
    },

然而,当我console.dir swfu对象时,它显示

sessionname: "234630019cc86c366e1fa390ac737648" 

代替

d9fb7fb097782697802a63e5f65b765e: "234630019cc86c366e1fa390ac737648"

我知道我可以简单地做

var swfu = new SWFUpload({
    // Backend Settings
    upload_url: "index.php",
    post_params: 
    {
        "task" : "ajaxUpload",
        "id" : myid, 
        "'.$php_sessionname.'" : "'.$php_sessionid.'"
    },

但是我将js抽象到它自己的文件中,并在PHP文件中设置所有的变量。

是否有合适的方法将变量设置为选项对的键?

动态执行,而不是声明式执行:

var params = {
    "task" : "ajaxUpload",
    "id" : myid
};
params[sessionname] = sessionid;
var swfu = new SWFUpload({
    // Backend Settings
    upload_url: "index.php",
    post_params: params,