Hobbyhorse73 Skrevet 2. april 2010 Del Skrevet 2. april 2010 (endret) Jeg har en fil på localhost som innholder Javascriptet i koden under. Dette Javascriptet sender TEXT fra localhost til en fil på ekstern server som heter receive.php. Hvordan skriver jeg receive.php slik at jeg kan motta teksten TEXT som ligger i content. Jeg ønsker ikke å bruke Javascript for å motta TEXT i receive.php. var text = 'TEXT'; var sendIt = typeof(window.XMLHttpRequest) == 'undefined' ? new ActiveXObject('Microsoft.XMLHTTP') : new XMLHttpRequest(); sendIt.open('POST', 'receive.php', true); sendIt.setRequestHeader('Content-type', 'application/x-www-form-urlencoded;'); sendIt.setRequestHeader('Content-length', text.length); sendIt.setRequestHeader('Connection', 'close'); sendIt.send(text); Endret 2. april 2010 av Hobbyhorse73 Lenke til kommentar
BlueEAGLE Skrevet 2. april 2010 Del Skrevet 2. april 2010 Variabler som blir sendt via form med method lik POST legges automatisk i superglobalen $_POST[]. Jeg klarer ikke å se navnet på variabelen du setter teksten i ut fra skriptet men jeg går ut i fra at skriptet simulerer noe slikt: <form method="POST" action="http://example.com/recieve.php"> <textarea name="my_text">tektsten ligger her</textarea> </form> I recieve.php vil teksten da finnes i variablen $_POST['my_text'] siden det er navnet på textarea. Håper det hjelper. Lenke til kommentar
Hobbyhorse73 Skrevet 3. april 2010 Forfatter Del Skrevet 3. april 2010 (endret) Jeg skal sende automatisk data fra localhost til en ekstern server via en nettside på localhost og dataen skal sendes som HTML innhold... Alså motsatt vei av det som skjedde nettopp da du lastet ned akkurat denne her siden. Hvis jeg hadde brukt et skjema, så ville transmit.php på localhost ha sett cirka noe slikt ut: <script> function doSendIt() { var text = document.someName.value; var sendIt = typeof(window.XMLHttpRequest) == 'undefined' ? new ActiveXObject('Microsoft.XMLHTTP') : new XMLHttpRequest(); sendIt.open('POST', 'receive.php', true); sendIt.setRequestHeader('Content-type', 'application/x-www-form-urlencoded;'); sendIt.setRequestHeader('Content-length', text.length); sendIt.setRequestHeader('Connection', 'close'); sendIt.send(text); } </script> <form onsubmit='javascript: doSendIt(); return false;'> <input name='someName' value='someValue'> </form> Når dette genereres i transmit.php, så sendes data fra localhost til serverfilen recieve.php og i variablen for content i $_SERVER er da: $_SERVER[CONTENT_TYPE]=application/x-www-form-urlencoded; charset=UTF-8; $_SERVER[CONTENT_LENGTH]=9 Nå skal recieve.php lese HTML innholdet som følger etter som er someValue. Jeg klør meg i hode, for det her får jeg ikke til. Endret 3. april 2010 av Hobbyhorse73 Lenke til kommentar
Thomas. Skrevet 3. april 2010 Del Skrevet 3. april 2010 (endret) never mind.. Endret 3. april 2010 av Thomas. Lenke til kommentar
Hobbyhorse73 Skrevet 3. april 2010 Forfatter Del Skrevet 3. april 2010 Når du har sagt A, så får du si B, Thomas. Spytt ut hva du hadde tenkt å si, jeg er helt på felgen å finne en bedre løsning enn det jeg har nå. Nå bruker jeg sendIt.open('GET', 'receive.php?data som skal sendes', true); sendIt.send(null); Den kan jeg lese via $_SERVER[QUERY_STRING]. Det er en dårlig løsning som får fungere til jeg har en bedre løsning. Lenke til kommentar
Ernie Skrevet 3. april 2010 Del Skrevet 3. april 2010 (endret) Nå er mine JS-kunnskaper litt varierende, men husker jeg ikke helt feil må variablen text i det første innlegget inneholde en string ala. param1=verdi¶m2=verdi2&osv. For å få ut $_POST med param1 og param2 som definerte indekser med tilhørende verdi. Forøvrig finnes det rammeverk som gjør dette og ganske mye annet for deg uten at du trenger å tenke på nettlesere o.l. Endret 3. april 2010 av Ernie Lenke til kommentar
TheClown Skrevet 3. april 2010 Del Skrevet 3. april 2010 function ajax_send() { if (http.readyState == 4) { if(http.status == 200) { var results = http.responseText; document.getElementById(update_div).innerHTML = results; } } } function ajax_request_search_s(SEARCH) { var url = "ajax_search.php?search="; http.open("GET", url + escape(SEARCH)); http.onreadystatechange = ajax_send; http.send(null); document.getElementById('ajax').innerHTML = "<div align=\"center\"><img src=\"http://www.ksl.com/images/loading.gif\" alt=\"Loading...\"></div>"; update_div = "ajax"; } function getHTTPObject() { var xmlhttp; if(window.XMLHttpRequest) { xmlhttp = new XMLHttpRequest(); } else if (window.ActiveXObject) { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); if (!xmlhttp) { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } } return xmlhttp; } var http = getHTTPObject(); Det er mitt Ajax-script. Kall funksjonen ajax_request_search_s noe annet, og det som settes i SEARCH, er contenten av input-fielden din Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå