Su código según lo citado está bien (lo he intentado localmente).
Mi conjetura es que la cadena formParams
en su pregunta es sólo un ejemplo, y que en realidad está haciendo algo para generar esa cadena sobre la marcha, y el problema radica en que el código lugar.
Por ejemplo, ¿está seguro de que estás escapando caracteres correctamente (utilizando encodeURIComponent
)? O mejor aún, deje jQuery tratar con él, como este:
$.ajax({
type: 'POST',
url: '/foo.jsp',
async: false,
data: {
fe1: $("#somefield1").val(),
fe2: $("#somefield2").val(),
fe3: $("#somefield3").val()
},
complete: function(xmlRequestObject, successString){
ymmReceiveAjaxResponse(xmlRequestObject, successString);
}
});
Si se pasa en un objeto, jQuery se encargará de la URI-codificación para usted. Si realmente desea hacerlo usted mismo:
var formParams =
"fe1=" + encodeURIComponent($("#somefield1").val()) +
"fe2=" + encodeURIComponent($("#somefield2").val()) +
"fe3=" + encodeURIComponent($("#somefield3").val());
$.ajax({
type: 'POST',
url: '/foo.jsp',
async: false,
data: formParams,
complete: function(xmlRequestObject, successString){
ymmReceiveAjaxResponse(xmlRequestObject, successString);
}
});
Allí no han codificado los nombres de los campos, porque esos nombres no tienen caracteres especiales en ellos; lo necesita si los nombres de sus formularios son más interesantes que eso.
Esta pregunta ha sido contestada en otros temas, como acabo topé con la causa del problema - el uso de FireBug, y abriendo la apertura del succionador de Net-hicky hacer, estoy viendo que el servidor web está respondiendo con un estado 302 en la llamada a la página web. Esbozaré mi solución al problema en un momento. –