Existe-t-il un maximum documenté de la longueur des données de chaîne que vous pouvez utiliser dans la méthode send d'un XMLHttpRequest pour les principales implémentations de navigateur?Longueur max du paramètre de données send() XMLHttpRequest Post
Je rencontre un problème avec un JavaScript XMLHttpRequest Post échouant dans FireFox 3 lorsque les données sont sur environ 3k. Je supposais que le Post se comporterait de la même manière qu'un Post Formulaire conventionnel.
Le document W3C mentionne que le paramètre data de la méthode send est un DOMString mais je ne suis pas sûr de savoir comment les principaux navigateurs implémentent cela.
Voici une version simplifiée de mon JavaScript, si bigText est sur environ 3k elle échoue, sinon il fonctionne ...
var xhReq = createXMLHttpRequest();
function createXMLHttpRequest() {
try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {}
try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {}
try { return new XMLHttpRequest(); } catch(e) {}
alert("XMLHttpRequest not supported");
return null;
}
function mySubmit(id, bigText) {
var url = "SubmitPost.cfm";
var params = "id=" + id + "&bigtext=" + encodeURI(bigText);
xhReq.open("POST", url, true);
//Send the header information along with the request
xhReq.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhReq.setRequestHeader("Content-length", params.length);
xhReq.setRequestHeader("Connection", "close");
xhReq.onreadystatechange = onPostSubmit;
xhReq.send(params);
}
function onPostSubmit() {
if (xhReq.readyState==4 || xhReq.readyState=="complete")
{
if (xhReq.status != 200)
{
alert('BadStatus');
return;
}
}
}