AJAX.Demande de POSTE organe de ne pas envoyer
Je suis en train de créer une requête POST, malheureusement, le corps de la POSTE ne semble être envoyé.
Ci-dessous le code que j'utilise. Le code est appelée lorsqu'un utilisateur clique sur un lien, pas un bouton "soumettre". Il s'exécute sans erreur, invoque la servlet qui est appelé, mais, comme je l'ai mentionné plus tôt, le corps de la POSTE ne semble être envoyé.
Je peux valider que le corps de la requête n'est jamais envoyé depuis j'ai accès à la servlet d'être appelé.
J'ai essayé d'utiliser "paramètres" en remplacement de "requestBody." J'ai aussi essayé d'utiliser un paramètre de chaîne (x=a?y=b). J'ai également validé le fait que "ckULK" contient une valeur valide.
Des idées?
new Ajax.Request(sURL,
{
method: 'POST'
, contentType: "text/x-json"
, requestBody: {ulk:ckULK}
, onFailure:
function(transport)
{
vJSONResp = transport.responseText;
var JSON = eval( "(" + vJSONResp + ")" );
updateStatus(JSON.code + ": " + JSON.message);
} //End onFailure
, onSuccess:
function(transport)
{
if (200 == transport.status)
{
vJSONResp = transport.responseText;
}
else
{
log.value += "\n" + transport.status;
}
} //End onSuccess
}); //End Ajax.request
- Lorsque vous configurez une forme régulière post, pas de AJAX impliqués, cela fonctionne dans la même situation? Je demande parce que si vous utilisez IE, il y a un non-évident de spécialité à en être conscient.
Vous devez vous connecter pour publier un commentaire.
C'est le genre de situations où Firebug et Firefox sont vraiment utiles. Je vous suggère d'installer Firebug si vous ne l'avez pas, et de vérifier la requête qui est envoyée.
Vous aussi certainement besoin de s'en tenir à
parameters
au lieu derequestBody
.Ce:
Devrait certainement travailler.
Simplement transmettre les données
parameters
à la Requête Ajax constructeur:Quand j'ai frappé ce problème, la solution était de supprimer
contentType
deAjax.Request
options.Dans réponse par Paolo Bergantino
contentType
n'est pas défini dansAjax.Request
options.De des raisons inconnues paramètres définis dans
parameters
n'était pas envoyé (FF n'a pas les montrer et mon serveur vu vides corps POST).Un de mes collègues m'a suggéré d'utiliser
postBody
au lieu deparameters
mais je ne l'ai pas essayé.