Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [AJAX]Prosty chat w AJAXie, bez wykorzystania gotowych klas
L_Devil
post
Post #1





Grupa: Zarejestrowani
Postów: 195
Pomógł: 0
Dołączył: 13.04.2004
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Mam taki kod:

  1. var http_request = false;
  2. function makeRequest(url, params) {
  3. http_request = false;
  4. if (window.XMLHttpRequest)
  5. {
  6. http_request = new XMLHttpRequest();
  7. }
  8. else if (window.ActiveXObject)
  9. {
  10. try
  11. {
  12. http_request = new ActiveXObject("Msxml2.XMLHTTP");
  13. }
  14. catch (e)
  15. {
  16. try
  17. {
  18. http_request = new ActiveXObject("Microsoft.XMLHTTP");
  19. }
  20. catch (e)
  21. {
  22.  
  23. }
  24. }
  25. }
  26. if (!http_request)
  27. {
  28. alert("Błąd połączenia");
  29. return false;
  30. }
  31. alert("Krok1");
  32. http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  33. alert("Krok2");
  34. http_request.onreadystatechange = ShowMessage;
  35. http_request.open("POST", url, true);
  36. http_request.send(params);
  37. }
  38.  
  39. function ShowMessage()
  40. {
  41. if (http_request.readyState == 4)
  42. {
  43. if (http_request.status == 200)
  44. {
  45. shouts.innerHTML = http_request.responseText;
  46. }
  47. else
  48. {
  49. alert("Błąd pobierania danych");
  50. }
  51. }
  52. }
Podczas wykonywania wyświetla się "Krok1" (pierwszy z alertów), zaś "Krok2" już nie... wygląda na to, że funkcja wiesza się przy wykonywaniu linijki
http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
Czemu?
Od razu mówię, że jestem początkujący w te klocki (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Ten post edytował L_Devil 17.08.2006, 12:31:10
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
mariuszn3
post
Post #2





Grupa: Zarejestrowani
Postów: 352
Pomógł: 0
Dołączył: 22.01.2006

Ostrzeżenie: (0%)
-----


Korzystasz z konsoli JS w Firefoxie?
Go to the top of the page
+Quote Post
L_Devil
post
Post #3





Grupa: Zarejestrowani
Postów: 195
Pomógł: 0
Dołączył: 13.04.2004
Skąd: Łódź

Ostrzeżenie: (0%)
-----


eeee.... że się tak głupio zapytam - co to jest? (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

Mam konsolę Javy, ale nie js (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
mariuszn3
post
Post #4





Grupa: Zarejestrowani
Postów: 352
Pomógł: 0
Dołączył: 22.01.2006

Ostrzeżenie: (0%)
-----


Zainstaluj sobie rozszerzenie Wev Developer.
W konsoli JS znajdziesz informacje o wszystkich błędach JS.
Go to the top of the page
+Quote Post
L_Devil
post
Post #5





Grupa: Zarejestrowani
Postów: 195
Pomógł: 0
Dołączył: 13.04.2004
Skąd: Łódź

Ostrzeżenie: (0%)
-----


ok, wypluło mi coś takiego:

Kod
Błąd: uncaught exception: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIXMLHttpRequest.setRequestHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: http://localhost/test/city/tavern/talk :: makeRequest :: line 181"  data: no]


Ten post edytował L_Devil 17.08.2006, 14:19:27
Go to the top of the page
+Quote Post
mariuszn3
post
Post #6





Grupa: Zarejestrowani
Postów: 352
Pomógł: 0
Dołączył: 22.01.2006

Ostrzeżenie: (0%)
-----


Mi wiele ten błąd nie mówi.. ale Ty mając dostęp do kodu, powinieneś szybko zlokalizować co go wywala (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
L_Devil
post
Post #7





Grupa: Zarejestrowani
Postów: 195
Pomógł: 0
Dołączył: 13.04.2004
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Ja już wiem - i nawet napisałem to w pierwszym poście (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Linijka:

Kod
http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");


Tylko co ja mam z tym zrobić? Co tutaj jest nie tak?

Ten post edytował L_Devil 17.08.2006, 14:34:26
Go to the top of the page
+Quote Post
mariuszn3
post
Post #8





Grupa: Zarejestrowani
Postów: 352
Pomógł: 0
Dołączył: 22.01.2006

Ostrzeżenie: (0%)
-----


ok.. wysiłem się trochę bardziej i znalazłem przyczynę ;-)
Zanim będziesz dodawał jakiekolwiek nagłówki musisz otworzyć transport funkcją open() (wbrew pozorom to nie otwiera żadnego połączenia)
Czyli po prostu przesuń linijkę z zawołanie do open() przed setRequestHeader()
Go to the top of the page
+Quote Post
L_Devil
post
Post #9





Grupa: Zarejestrowani
Postów: 195
Pomógł: 0
Dołączył: 13.04.2004
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Masz u mnie pół litra rozpuszczal... tfu, coli (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) (piwa nie daję, bo możesz być niepełnoletni (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) ). Dorzucę jeszcze litr, jak mi powiesz co zrobić, żeby nie krzaczkował (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
mariuszn3
post
Post #10





Grupa: Zarejestrowani
Postów: 352
Pomógł: 0
Dołączył: 22.01.2006

Ostrzeżenie: (0%)
-----


Dokument, który przesyłasz w odpowiedzi na ajaxa, musi nieść ze sobą informację o tym w jakim kodowaniu znaków jest napisany ;-)
Go to the top of the page
+Quote Post
L_Devil
post
Post #11





Grupa: Zarejestrowani
Postów: 195
Pomógł: 0
Dołączył: 13.04.2004
Skąd: Łódź

Ostrzeżenie: (0%)
-----


dokument wysyłał - problem miałem bardziej w przesyłaniu danych na serwer... ale wpisałem
  1. <?php
  2. $message=iconv('utf-8','iso-8859-2',$message);
  3. ?>
i problem zniknął (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Anyways wielkie dzięki za zainteresowanie! (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 12:41