jQuery envoie une chaîne en tant que paramètres POST
Je veux envoyer une chaîne en tant que paramètre ajax Post.
Le code suivant:
$.ajax({
type: "POST",
url: "http://nakolesah.ru/",
data: 'foo=bar&ca$libri=no$libri',
success: function(msg){
alert('wow'+msg);
}
});
Ne fonctionne pas. Pourquoi?
7 réponses
Essayez comme ceci:
$.ajax({
type: 'POST',
// make sure you respect the same origin policy with this url:
// http://en.wikipedia.org/wiki/Same_origin_policy
url: 'http://nakolesah.ru/',
data: {
'foo': 'bar',
'ca$libri': 'no$libri' // <-- the $ sign in the parameter name seems unusual, I would avoid it
},
success: function(msg){
alert('wow' + msg);
}
});
$.ajax({
type: 'POST',
url:'http://nakolesah.ru/',
data:'foo='+ bar+'&calibri='+ nolibri,
success: function(msg){
alert('wow' + msg);
}
});
Je vois qu'ils n'ont pas compris votre question. La réponse est: ajoutez le paramètre" traditionnel " à votre appel ajax comme ceci:
$.ajax({
traditional: true,
type: "POST",
url: url,
data: custom ,
success: ok,
dataType: "json"
});
Et cela fonctionnera avec les paramètres passés sous forme de chaîne.
Pour une application similaire, j'ai dû envelopper mon data
objet avec JSON.stringify()
comme ceci:
data: JSON.stringify({
'foo': 'bar',
'ca$libri': 'no$libri'
}),
L'API fonctionnait avec un client REST mais ne pouvait pas le faire fonctionner avec jquery ajax dans le navigateur. stringify était la solution.
Je ne sais pas si cela est toujours réel.. juste pour les futurs lecteurs. Si ce que vous voulez vraiment est de passer vos paramètres dans le cadre de L'URL, vous devriez probablement utiliser jQuery.param () .
Pas une réponse directe à votre question.. Mais voici la seule syntaxe qui fonctionnait pour moi -
data: '{"winNumber": "' + win + '"}',
Et le nom du paramètre correspondent à l'argument de la méthode serveur
J'étais confronté au problème en passant la valeur de chaîne aux paramètres de chaîne en Ajax. Après tant de googling, j'ai trouvé une solution personnalisée comme ci-dessous.
var bar = 'xyz';
var calibri = 'no$libri';
$.ajax({
type: "POST",
dataType: "json",
contentType: "application/json; charset=utf-8",
url: "http://nakolesah.ru/",
data: '{ foo: \'' + bar + '\', zoo: \'' + calibri + '\'}',
success: function(msg){
alert('wow'+msg);
},
});
Ici, bar et calibri sont deux variables de chaîne et vous pouvez passer n'importe quelle valeur de chaîne aux paramètres de chaîne respectifs dans la méthode web.