Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [CakePHP]Przeładowywanie podstronek za pomocą AJAX'a
konraddo
post
Post #1





Grupa: Zarejestrowani
Postów: 42
Pomógł: 1
Dołączył: 9.01.2007
Skąd: Sejny/Elbląg

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


Mam napisana stronkę opartą na CakePHP, ale chciałbym ją urozmaicić o przeładowywanie podstronek z pomocą AJAX'a

w manualu Cake'a jest napisane:

The requestAction() function is also useful in AJAX situations where a small element of a view needs to be populated before or during an AJAX update.

kombinowalem na rozne sposoby, ale nie wyszlo to co trzeba, utworzylem nowa funkcje w kontrolerze specjalnie by renderowalo poszczegolne podstrony na pustym layoucie, ale gdy przeladowywala sie podstronka nie bylo polskich znakow, natomiast jakbym dodal meta tagi do pustego layoutu, bylyby one importowane do srodka strony, co jest wogle niepoprawne

funkcja w kontrolerze:
  1. <?php
  2. function rend($action = 'glowna'){
  3. $this->render($action, 'none');
  4. }
  5. ?>


layout:
  1. <?php echo $content_for_layout; ?>


link na stronce:
  1. <a onclick = "getData('http://jakasdomena.pl/cakephp/pages/rend/glowna', 'div')">Strona glowna</a>


skrypt AJAX'a:
  1. if (window.XMLHttpRequest)
  2. {
  3. ObiektXMLHttp = new XMLHttpRequest(); }
  4. else if (window.ActiveXObject)
  5. {
  6. ObiektXMLHttp = new ActiveXObject("Microsoft.XMLHTTP"); }
  7.  
  8. // druga część kodu
  9. function getData(zrodlo, cel) {
  10. if(ObiektXMLHttp)
  11. {
  12. var cel = document.getElementById(cel);
  13. ObiektXMLHttp.open("GET", zrodlo);
  14.  
  15. ObiektXMLHttp.onreadystatechange = function()
  16. {
  17. if (ObiektXMLHttp.readyState == (1 || 0)) {
  18. document.getElementById('div').innerHTML = "<img src=\"img/loader.gif\" />"; }
  19.  
  20. if (ObiektXMLHttp.readyState == 4)
  21. {
  22. cel.innerHTML = ObiektXMLHttp.responseText;
  23. }
  24. }
  25.  
  26. // trzecia część kodu
  27. ObiektXMLHttp.send(null); } }


dosyć amatorskie rozwiązanie ale działało oprócz wyświetlania polskich znaków

na pewno istnieje inny lepszy sposób, czekam na wszelkie propozycje
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 22.08.2025 - 07:45