Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> parseJSON
Hosiek
post
Post #1





Grupa: Zarejestrowani
Postów: 181
Pomógł: 0
Dołączył: 25.11.2010

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


Mam problem z funkcją parseJSON - w ajaxie mam zrobioną aktualizacje wiadomosci, po aktualizacji wysyla mi dane i poprzez parseJSON ma wyslac mi dwie informacje, informacja o poprawnosci oraz zaktualizowany tekst, i oczywiscie te dwie rzeczy maja byc w innym miejscu dlatego musze uzyc tej funkcji.

Kod mam "prawie" dzialający, gdzieś jest mały błąd, troche speram w tym kodzie i nie moge go wynalesc..

Jezeli mam tak to działa:
  1. <script type=\"text/javascript\">
  2. jQuery(document).ready(function(){
  3. jQuery(\".button_aktualizuj\").click(function(){
  4. jQuery.ajax({
  5. type:\"POST\",
  6. url:\"aktualizacja.php\",
  7. dataType: \"text\",
  8. data:\"dana=\"+jQuery(\".tekst_biografii\").val(),
  9. success: function(data){
  10. var obj = jQuery.parseJSON('{\"txt\":"tekst wiadomosci", "ajax_result":"1"}');
  11. if( obj.ajax_result === 1 )
  12. {
  13. jQuery('.wynik_aktualizacji_ajax_jquery').html(obj.txt);
  14. }
  15. else
  16. {
  17. jQuery('.wynik_aktualizacji').html(obj.txt);
  18. }
  19. },
  20. error: function(){
  21. alert('Blad z wysylaniem danych na serwer');
  22. }
  23. });
  24. });
  25. });
  26. </script>


Jednak w skrypcie powyzej podałem zmienna do parsowania a ma byc ona wyczytana z "data", czyli mniej wiecej tak:

  1. <script type=\"text/javascript\">
  2. jQuery(document).ready(function(){
  3. jQuery(\".button_aktualizuj\").click(function(){
  4. jQuery.ajax({
  5. type:\"POST\",
  6. url:\"aktualizacja.php\",
  7. dataType: \"text\",
  8. data:\"dana=\"+jQuery(\".tekst_biografii\").val(),
  9. success: function(data){
  10. var obj = jQuery.parseJSON('data');
  11. if( obj.ajax_result === 1 )
  12. {
  13. jQuery('.wynik_aktualizacji_ajax_jquery').html(obj.txt);
  14. }
  15. else
  16. {
  17. jQuery('.wynik_aktualizacji').html(obj.txt);
  18. }
  19. },
  20. error: function(){
  21. alert('Blad z wysylaniem danych na serwer');
  22. }
  23. });
  24. });
  25. });
  26. </script>


dane do "data" są pobierane na pewno gdyż moje je wyczytac funkcją jQuery('.wynik_aktualizacji').html(data); co daje mi taki text:
Cytat
{"ajax_result":0,"txt":"tekst"}
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Hosiek
post
Post #2





Grupa: Zarejestrowani
Postów: 181
Pomógł: 0
Dołączył: 25.11.2010

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


Cytat(Arcioch @ 2.10.2012, 19:36:09 ) *
Po pierwsze popraw to (IMG:style_emoticons/default/wink.gif)

  1. <script type="text/javascript">
  2. jQuery.noConflict();
  3. <script type="text/javascript">
  4. $.noConflict();
  5. <script type="text/javascript" src="http://[ciach]/five/jscripts/aktualizacja_bazy.js?ver=1600"></script>


Po drugie łącznie prototype i jQuery nie jest za dobrym roziwązaniem (IMG:style_emoticons/default/wink.gif)
Po trzecie json dostaje coś więce (IMG:style_emoticons/default/wink.gif) Tak przynajmniej pokazuje firebug (IMG:style_emoticons/default/wink.gif)

  1. {"ajax_result":1,"txt":"testowa biografia asdasddsa"}<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

jezeli ten kod ułoze inaczej skrypty mi nie działają, chyba ze faktycznie coś na mieszkałem to powiesz cos konkretniej ?

Co do wysyłania do json, to nie mam pojecia dlatego to tak wysyla, wygladało by na to ze dostaje sie do heada ze to wyswietla - mialem wyswietlanie tego jak uzyłem zamiast .html(obj.txt) chyba head albo headbody czy jakos tak. cała akcja jest wrzucona do tego samego pliku lecz jako action= moze dlatego ?
Już wiem skąd ten kod sie bierze, jest on zdefiniowany w mybb, w szablonie htmldoctype - całkowite usuniecie go powoduje wstawienie innego, jakiegos zastepczego - ale wydaje mi sie ze moze on byc potrzebny wiec nalezy znalesc rozwiazanie które usunie go tylko z tej podstrony

Ten post edytował webdice 3.10.2012, 07:30:08
Go to the top of the page
+Quote Post

Posty w temacie


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: 2.10.2025 - 19:04