0
我試圖在JavaScript swfupload對象的選項數組中使用一個變量作爲「鍵」值。接收到ajax請求的頁面在繼續處理之前檢查會話名稱/ id,因此這些值是必需的。如何將js變量作爲鍵傳遞到選項數組
但是,由於會話名稱是可變的,我不能只是靜態地設置它。我想是這樣的:
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文件設置所有瓦爾。
有沒有適當的方法來設置變量作爲選項對的關鍵?
這可能會被視爲安全風險,雖然。爲什麼要將會話名稱暴露給JavaScript?爲什麼不使用常量字符串? –
嗨馬特 - 你能詳細說一下「使用一個常量字符串」嗎?謝謝 – julio
使用常量鍵而不是會話名稱,例如'{... sessionname:sessionid ...}'。我很想知道爲什麼你會通過這個。看起來像一個漂亮的安全漏洞,或至少是一種代碼味道。 –