Autor Zpráva
Mates99
Profil
Ahoj, moc se v javascriptu nevyznám. Potřeboval bych metodou HTTP POST odesílat nějaká data do php scriptu a hned si zpět načíst výsledek. Mám na to script, který funguje přesně podle mých představ, ale problém je v to, že ten php script není na stejným serveru. V rámci jednoho serveru to funguje dobře, ale jakmile změním url z post.php na jiný server (http://www.jiny-server.cz/post.php), tak to přestane fungovat. Nechá se s tím něco dělat?

<script type="text/javascript" language="javascript">
   var http_request = false;
   function makePOSTRequest(url, parameters) {
      http_request = false;
      if (window.XMLHttpRequest) { // Mozilla, Safari,...
         http_request = new XMLHttpRequest();
         if (http_request.overrideMimeType) {
         	// set type accordingly to anticipated content type
            //http_request.overrideMimeType('text/xml');
            http_request.overrideMimeType('text/html');
         }
      } else if (window.ActiveXObject) { // IE
         try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
         } catch (e) {
            try {
               http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
         }
      }
      if (!http_request) {
         alert('Cannot create XMLHTTP instance');
         return false;
      }
      
      http_request.onreadystatechange = alertContents;
      http_request.open('POST', url, true);
      http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      http_request.setRequestHeader("Content-length", parameters.length);
      http_request.setRequestHeader("Connection", "close");
      http_request.send(parameters);
   }

   function alertContents() {
      if (http_request.readyState == 4) {
         if (http_request.status == 200) {
            //alert(http_request.responseText);
            result = http_request.responseText;
            document.getElementById('myspan').innerHTML = result;            
         } else {
            alert('There was a problem with the request.');
         }
      }
   }
   
   function get(obj) {
      var poststr = "mytextarea1=" + encodeURI( document.getElementById("mytextarea1").value ) +
                    "&mytextarea2=" + encodeURI( document.getElementById("mytextarea2").value );
      makePOSTRequest('post.php', poststr);
   }
</script>
Yur4Y
Profil
Nedá sa s tým nič robiť.
Jan Tvrdík
Profil
Můžeš javascriptem poslat požadavek na tvůj lokální skript, který ho přepošle na vzdálený skript.
Mates99
Profil
Můžeš javascriptem poslat požadavek na tvůj lokální skript, který ho přepošle na vzdálený skript.

Ha, to mě nenapadlo, přes CURL to snad nějak zmáknu. Dík.

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: