2013-03-24 50 views
0

我想用jQuery的崗位:如何設置數組項的鍵?

var CONST_KEY = 'key'; 
var CONST_VALUE = 'value'; 

$.post('/', {CONST_KEY: "'" + CONST_VALUE + "'" }, function(){ 
//..... 
}); 

但在這種情況下,服務器獲取:

CONST_KEY =值

爲什麼CONST_KEY派遣作爲變量名但不作爲一個值'?

+0

請注意,你在那裏有一個對象,而不是一個數組。 – nnnnnn 2013-03-24 00:31:36

+0

是否有理由將引號中的值作爲POST字符串的一部分包裝?應該沒有必要。 – alex 2013-03-24 06:50:47

+0

這是一些模塊,它是CSRF使用。每個cms可以有CSRF密鑰和CSRF值 – Anthony 2013-03-24 07:45:30

回答

5

你不幸的是不能這樣做。試試這個...

var obj = {}; 

obj[CONST_KEY] = "'" + CONST_VALUE + "'"; 

JavaScript將未加引號的鍵名稱視爲字符串,並且不會將它們解析爲變量查找。但是,如果它們看起來像是無效的字符串名稱,則可以解析它們,例如, 0x100解析爲256

最近,您還可以在JavaScript中使用保留字作爲裸鍵,例如deleteclass

+0

是的,它的工作原理!謝謝! – Anthony 2013-03-24 00:10:37