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?
6 réponses
var obj = {};
obj[name] = value;
$.post("ajax.php", obj)...
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 ...
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})
Le nom ici n'est pas traité comme étant remplaçable ...
Vous devez manuellement écrire:
{a:"b"}
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);
name= "a";
value="b";
var o = {};
o[name]= value;
$.post("ajax.php", o);
Questions connexes
De nouvelles questions
javascript
Pour des questions concernant la programmation dans ECMAScript (JavaScript / JS) et ses divers dialectes / implémentations (hors ActionScript). Veuillez inclure toutes les balises pertinentes dans votre question; par exemple, [node.js], [jquery], [json], etc.