JavaScript-литерал, значение указателя для ключа - PullRequest
2 голосов
/ 26 ноября 2011

У меня есть следующий код:

name= "a";
value="b"
$.post("ajax.php", {name:value})....

Однако ajax.php получит name=b вместо a=b.

Как мне заставить его получить последнее?

Ответы [ 6 ]

8 голосов
/ 26 ноября 2011
var obj = {};
obj[name] = value;
$.post("ajax.php", obj)...
3 голосов
/ 26 ноября 2011

Чтобы получить желаемый эффект, вы можете сделать следующее ...

name = "a";
value = "b";
var values = {};
values[name] = value;
$.post("ajax.php", values);
2 голосов
/ 26 ноября 2011
name= "a";
value="b";

var o = {};
o[name]= value;

$.post("ajax.php", o);
2 голосов
/ 26 ноября 2011

Имя здесь не рассматривается как заменяемое ...

вам следует вручную написать:

{a:"b"}
1 голос
/ 26 ноября 2011

Вы можете построить объект программно.Вы можете создать объект следующим образом:

var obj = {};
obj["a"] = "b";

Так попробуйте это:

var obj = {};
obj[name] = value;

И передайте это на пост-вызов ...

1 голос
/ 26 ноября 2011

Нельзя использовать переменную для ключевого элемента (если вы планируете использовать буквальное объявление) .Он должен быть статическим

Вам необходимо сделать следующее:

$.post("ajax.php", {"a":value})
...