J'ai le code suivant:

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

Cependant, ajax.php recevra name=b au lieu de a=b.

Comment pourrais-je lui faire recevoir ce dernier?

2
Akshat 26 nov. 2011 à 22:04

6 réponses

Meilleure réponse
var obj = {};
obj[name] = value;
$.post("ajax.php", obj)...
8
duri 26 nov. 2011 à 18:07

Cependant, vous pourrez peut-être créer l'objet par programmation. Vous pouvez créer un objet de cette manière:

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

Essayez donc ceci:

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

Et transmettez ça à la poste ...

1
Brian Mains 26 nov. 2011 à 18:14

Vous ne pouvez pas utiliser de variable pour l'élément clé (si vous envisagez d'utiliser une déclaration littérale) . Il doit être statique

Vous devez faire ceci:

$.post("ajax.php", {"a":value})
1
Abdul Munim 26 nov. 2011 à 18:07

Le nom ici n'est pas traité comme étant remplaçable ...

Vous devez manuellement écrire:

{a:"b"}
2
Royi Namir 26 nov. 2011 à 18:06

Pour obtenir l'effet que vous désirez, vous pouvez faire ce qui suit ...

name = "a";
value = "b";
var values = {};
values[name] = value;
$.post("ajax.php", values);
3
Quintin Robinson 26 nov. 2011 à 18:07
name= "a";
value="b";

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

$.post("ajax.php", o);
2
DrStrangeLove 26 nov. 2011 à 18:07
8280444