如何将js变量作为键传递给options数组

时间:2011-10-12 19:48:29

标签: php javascript swfupload

我正在尝试将变量用作javascript swfupload对象的options数组中的“key”值。

表示,在继续处理之前,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文件中设置所有变量。

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

1 个答案:

答案 0 :(得分:1)

动态而不是声明地执行:

var params = {
    "task" : "ajaxUpload",
    "id" : myid
};

params[sessionname] = sessionid;

var swfu = new SWFUpload({
    // Backend Settings
    upload_url: "index.php",
    post_params: params,