2009-10-07 5 views
1

응답이 json인지 xml인지 알고 싶습니다. 어떻게 jquery를 사용하여 찾을 수 있습니까?jquery find json or xml

현재 코드는 다음과 같지만 응답이 json 인 경우 제공 오류가 발생합니다.

var is_xml = ($('status_code', XMLHttpRequest.responseText)) ? true : false; 

오류는 다음과 같습니다

선택기 예상.

예상 ','또는 '{'이지만 ''}}} ''이 (가) 있습니다.

+0

"status_code ', XMLHttpRequest.responseText"는 올바른 선택기가 아닙니다. –

+0

예 .. 응답이 json 인 경우 xml이면 올바른 선택기가됩니다. – Basit

답변

2

documentation에 따르면 ajaxError 콜백의 세 번째 매개 변수는 jQuery.ajax에 전달 된 options 개체입니다. 해당 개체의 dataType 값을 쿼리하여 호출이 json 또는 xml을 반환 할 것으로 예상되는지 여부를 확인할 수 있습니다. 물론 이것은 사용자가 dataType 옵션을 적절하게 설정했다고 가정합니다.

1

반환 형식이 일관되지 않은 이유는 무엇입니까? IMO 당신은 정확하게 페이지를 요청하기 전에 돌아와야 할 것을 정확히 알아야합니다.

+0

일부 메서드는 xml과 일부 json을 사용하기 때문에 어떤 이유 때문에이 메서드가 ajax_error에 구현되었으므로 오류 또는 잘못된 응답이 있으면 ajax 오류가 발생하고 xml/json 응답에서 잘못된 응답이 표시됩니다. :) 어떤 해결책을주십시오! – Basit

+0

그렇다면 json과 xml에 대해 하나씩 ajax 부분을 수행하는 * 두 개의 함수를 정의 할 수없는 이유는 무엇입니까? –

+0

왜 두 가지 방법을 사용하면 작업을 완료 할 수 있습니다. 어쨌든 그 해결, 참여해 주셔서 감사합니다 :) – Basit