Jörg Reinholz: POST-Daten im Ajax nicht korrekt? Chrome? FormData-Objekt..

Beitrag lesen

FormData-Objekt per POST
Das hat mich gerade einige Zeit gekostet, hab's mit Chrome nicht zum Laufen gebracht. Der meinte immer, er solle ein File senden und das wäre verboten.

Also mach ich es hübsch zu Fuß:

  
    function sendData(formular) {  
	  var data='';  
	  var t='';  
	  arElements=formular.elements;  
	  for (var i=0; i<arElements.length; i++ ) {  
	    if (arElements[i].name) {  
	      data = data + t + encodeURIComponent(arElements[i].name) + '=' + encodeURIComponent(arElements[i].value);  
	      t = '&';  
	    }  
	  }  
	  url="<?php echo $_SERVER['REQUEST_SCHEME'], '://', $_SERVER['SERVER_NAME'], dirname($_SERVER['REQUEST_URI']); ?>/usermin_Reaktor.php";  
	  var xhr = new XMLHttpRequest();  
	  xhr.open('POST', url, true);  
	  xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");  
	  xhr.onload = function(e) {  
	      if ('O.K.' == xhr.responseText) {  
	         return false;  
	      } else {  
	        alert(xhr.responseText + "\r\n" + e);  
              }  
	  };  
	  xhr.send(data);  
          return false; // Formular wird nicht abgesendet  
    }