jQuery envía cadena como parámetros POST

Quiero enviar una cadena como un parámetro de publicación de Ajax.

El siguiente código:

$.ajax({ type: "POST", url: "http://nakolesah.ru/", data: 'foo=bar&ca$libri=no$libri', success: function(msg){ alert('wow'+msg); } }); 

No está trabajando. ¿Por qué?

Pruebe de esta manera:

 $.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); } }); 

Veo que no entendieron tu pregunta. La respuesta es: agregue el parámetro “tradicional” a su llamada ajax como esta:

 $.ajax({ traditional: true, type: "POST", url: url, data: custom , success: ok, dataType: "json" }); 

Y funcionará con parámetros PASADOS COMO STRING.

Para una aplicación similar tuve que envolver mi objeto de data con JSON.stringify() esta manera:

 data: JSON.stringify({ 'foo': 'bar', 'ca$libri': 'no$libri' }), 

La API estaba trabajando con un cliente REST pero no pudo hacerlo funcionar con jquery ajax en el navegador. stringify fue la solución.

No estoy seguro de si esto todavía es real … solo para lectores futuros. Si lo que realmente desea es pasar sus parámetros como parte de la URL, probablemente debería usar jQuery.param () .

No es una respuesta directa a su pregunta. Pero seguir es la única syntax que solía funcionar para mí:

 data: '{"winNumber": "' + win + '"}', 

Y el nombre del parámetro coincide con el argumento del método del servidor

Estaba enfrentando el problema al pasar el valor de cadena a los parámetros de cadena en Ajax. Después de tanto googlear, he encontrado una solución personalizada como la siguiente.

 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); }, }); 

Aquí, bar y calibri son dos variables de cadena y puede pasar cualquier valor de cadena a los respectivos parámetros de cadena en el método web.