Internet Explorer, Ajax Request: Max URL Length
Tuesday, October 30th, 2007Es hat mich nur einen Tag gekostet, also eine Kleinigkeit:
Betrifft Prototype 1.5.1.1 mit Internet Explorer 6.0.irgendwas und Ajax.Updater, bzw. alles was mit dem Ajax.Reqest von Prototype zu tun hat.
Die maximale Länge der URL beträgt 2050 Zeichen.
Ich habe ein Formular mit Serialize() aus Prototype als Querystring aufbereitet und wollte das per Ajax per HTTP-Get verschicken, das funktionierte mit richtigen Browsern auch Problemfrei, nicht aber im Internet Explorer. Der weigerte sich beharrlich und kommentarlos. Ich konnte zwischendurch mal den Response-Status “122” aus ihm herauskitzeln, mehr nicht. Mit kürzen URLs funktioniert es:
var fieldcontents = $('form-id').serialize();
new Ajax.Updater({ success: 'target_div', failure: 'msg_div'}, 'index.php?' + fieldcontents, { method: 'get' })
Hätte ich das gewusst, hätte ich gleich Post verwendet und mir einen Tag Arbeit gespart:
$('form-id').request({ onComplete: function(transport){ $('target_div').update(transport.responseText); } });
Danke Microsoft.