Autor Zpráva
hal_sk
Profil
Zdravím. Robím jednu AJAX aplikáciu, kde potrebujem poslať dlhšiu premennú, takže musím použiť post v objekte "open". Podľa tutoriálu som nastavil aj http headers.
Pri spustení činnosti skriptu, mi to však v Google Chrome vyhadzuje chyby:
Refused to set unsafe header "Content-length"
Refused to set unsafe header "Connection"
Ak tieto headers odstránim, nefunguje to vôbec. Ak ich nechám, funguje to, ale vyhadzuje tieto chyby. Warning by som neriešil, ale error asi treba, či ignorovať to?
V IE8 a FF to ide dobre.

Tu je časť môjho kódu.
  // ajax
  xmlhttp=getHTTPObjectUser();
  xmlhttp.onreadystatechange=function()
  {
   if(xmlhttp.readyState==4 && xmlhttp.status==200)
   {
    var result = xmlhttp.responseText;
    alert(result);
   } 
  }
  var params = 'mojtext='+str; // sucast post metody
  xmlhttp.open('post', 'skript.php', true);
  
  // sucast post metody
  xmlhttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
  xmlhttp.setRequestHeader('Content-length', params.length);
  xmlhttp.setRequestHeader('Connection', 'close');
  //
  
  xmlhttp.send(params); // parameter vo funkcii je sucast post metody
Witiko
Profil
hal_sk:
Ak tieto headers odstránim, nefunguje to vôbec.
Nebude v tom případě problém na straně serveru? Když tě prohlížeč nenechá upravit hlavičky, tak asi budeš muset upravit serverovou část aplikace, aby dokázala HTTP požadavek úspěšně přežvýkat a strávit i tak.
hal_sk
Profil
Witiko:
Sorry, týmto veciam vôbec nerozumiem. Treba niečo nastaviť v php.ini, .htaccess, alebo je to niečo úplne iné?
Chamurappi
Profil
Reaguji na hala_sk:
Řekl bych, že nepotřebuješ nastavit nic, pokud jsi sám aktivně doposud nic nijak zákeřně nenastavil.
Uvedený skript by měl plně fungovat i bez dotyčných hlaviček.

Ak tieto headers odstránim, nefunguje to vôbec.
Co to znamená? Zjisti, kde je doopravdy chyba, pokud nedokážeš dodat ukázku.
hal_sk
Profil
Chamurappi:
Tu je príklad s hlavičkami (v Chrome funguje, ale hádže error, v IE8 aj vo FF bez error-u): http://hal.tym.sk/ajax_post_headers/
Tu je príklad bez hlavičiek (v Chrome, ani v IE8 a vo FF nefunguje): http://hal.tym.sk/ajax_post/
Chamurappi
Profil
Reaguji na hala_sk:
Tu je príklad bez hlavičiek
Tam ti chybí hlavička Content-Type: application/x-www-form-urlencoded. Jak by měl server uhodnout, v jakém formátu mu posíláš data?
Když ti Chrome řekne, že se mu nelíbí dvě ze tří hlaviček, proč mažeš všechny tři?

v Chrome funguje, ale hádže error
To nemůže být skutečný error, chyba by přerušila běh skriptu.
hal_sk
Profil
Chamurappi:
No jo http://hal.tym.sk/ajax_post_headers_edit/
Som bol v tom, že som to už takto len s jednou hlavičkou skúšal a nešlo to, ale to bolo asi len dejavu.
Dík Chamurappi a Witiko.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: