Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JQuery]Jak rozróżnić xml i json
zend
post
Post #1





Grupa: Zarejestrowani
Postów: 580
Pomógł: 85
Dołączył: 25.03.2010
Skąd: Skrzyszów :)

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


Czy jest jakiś prosty sposób na rozróżnienie json'a i xml'a? Mam skrypt odpytujący serwer, jeżeli wynik odpowiedzi jest html'em wstawiam go do div'a, natomiast gdy odpowiedź jest json'em chciałbym wyciągnąć z niego dane i dodać nagłówki mówiące o sukcesie akcji

[js]var json = (eval('(' + data + ')'));[/js] - tak parsuje json'a - ale w przypadku gdy wrzuce w to html sypie błędami

Czy jest sens obsługiwać rządania dwoma formatami czy lepiej pozostać przy jednym?
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




To odpytujesz serwer (zakładam ze swoj skrypt) i nie wiesz co on zwroci?

Cytat
Czy jest sens obsługiwać rządania dwoma formatami czy lepiej pozostać przy jednym?
No lepiej zdecydować się na jeden i nie kombinować jak kon pod górkę
Go to the top of the page
+Quote Post
zend
post
Post #3





Grupa: Zarejestrowani
Postów: 580
Pomógł: 85
Dołączył: 25.03.2010
Skąd: Skrzyszów :)

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


Wiem co zwróci serwer - albo xml albo json (IMG:style_emoticons/default/smile.gif) Jeśli formularz nie przejdzie walidacji po stronie serwera zwracany jest cały formularz, natomiast w przypadku zatwierdzenia danych chciałbym zwracać json (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Jeśli formularz nie przejdzie walidacji po stronie serwera zwracany jest cały formularz, natomiast w przypadku zatwierdzenia danych chciałbym zwracać json
Bez sensu. Zdecyduj się na jeden format i się go trzymaj.
Go to the top of the page
+Quote Post
zend
post
Post #5





Grupa: Zarejestrowani
Postów: 580
Pomógł: 85
Dołączył: 25.03.2010
Skąd: Skrzyszów :)

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


Wygląda na to że faktycznie przedobrzyłem (IMG:style_emoticons/default/smile.gif) Temat do zamknięcia
Go to the top of the page
+Quote Post
wookieb
post
Post #6





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




TO ja mam inną propozycję.
Rozróżniąj nagłówki odpowiedzi http (nagłówek Conten-type) - odpowiednio
json - text/x-json
xml - text/xml
html - text/html

Jest sens rozrózniać takie rzeczy i to bardzo. Raz będziesz chciał wysłać html a raz json, bo np nie opłaca Ci się inwestować w szablony po stronie JS

Ten post edytował wookieb 25.05.2010, 10:44:25
Go to the top of the page
+Quote Post
zend
post
Post #7





Grupa: Zarejestrowani
Postów: 580
Pomógł: 85
Dołączył: 25.03.2010
Skąd: Skrzyszów :)

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


Wookieb jesteś wielki, działa dokładnie tak jak chciałem
[JAVASCRIPT] pobierz, plaintext
  1. function formToSubmit()
  2. {
  3. $('form').submit(function(){
  4. if($(this).parent().attr('id') == "popup")
  5. {
  6. var serializedData = $(this).serialize();
  7. serializedData = serializedData + '&format=html';
  8. var parent = $(this).parent();
  9.  
  10. $.ajax({
  11. type : "POST",
  12. url : $(this).attr('action'),
  13. data : serializedData,
  14. success : function(result){
  15. $(parent).html(result);
  16. formToSubmit();
  17. },
  18. complete: function(xhr, status) {
  19. alert(xhr.getResponseHeader("Content-Type"));
  20. },
  21. });
  22.  
  23. return false;
  24. }
  25. });
  26. }
[JAVASCRIPT] pobierz, plaintext


Ten post edytował zend 25.05.2010, 11:37:39
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: 22.08.2025 - 17:45