09. februar 2007 - 14:51Der er
6 kommentarer og 1 løsning
AJAX og post
Hejsa, jeg er igang med et script til en AJAX/PHP drevet chat, det skal bruges til et afsluttende projekt i skolen..
Jeg har tænkt mig at bruge AJAX til at poste en brugers indlæg til chatten, således at man ikke skal reloade hver gang :)
function send_msg() { var time = timestamp + "-" + day + "-" + month + "-" + year; var random_post = randomnum; var message = document.message.besked.value; var reciewer = document.message.whisper.value; var sender = document.message.user_ident.value; var show_page = document.message.show.value; var type = "insert_msg"; var url = "chat.php";
Problemet er at serveren ikke modtager svaret.. Jeg har testet at alle variablerne rent faktisk har en værdi. så det eneste sted jeg kan se at problemet skulle være er i kommunikationen mellem mit script og serveren.
Du har nok generelt misforstået AJAX - og det er der ikke noget at sige til. Desværre er der rigtig mange tutorial-forfattere, der ikke selv har forstået AJAX ... og i øvrigt koder elendigt! :)
Hele idéen med at bruge AJAX er, at man kun udveksler rå data mellem server og klient. Når data returneres, sker det i XML- eller JSON-format, men _aldrig_ HTML-formateret - og man indsætter _aldrig_ kode med innerHTML, men med DOM. innerHTML-property'en har aldrig været valid (og bliver det heller aldrig) ... under XHTML er den tilmed komplet ubrugelig.
Desuden fatter jeg ikke din send-blok. Du skal sende en query-streng som argument ... altså noget à la:
Det med InnerHTML er der kun lige nu for at jeg kan se hvad jeg evt har skrevet, ligesom alert() også kun er der for at vise at selve posten var succesfuld.. :)
Jeg skal vist have kigget lidt nærmere på den måde ajax modtager data siger du, men hvor vil du så anbefale at man kigger henne af? :) (Jeg bruger det returnerede data lidt nogle andre steder med nogle boolske værdier)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.