2009-06-11 4 views
4

jquery와 json에 관해서는 약간 새로운 기능입니다. json을 반환 유형으로 사용하는 경우에도 XMLHttpRequest 객체에서 responseText를 검색 할 수 있습니까?AJAX responseText에서 jQuery와 JSON을 사용 하시겠습니까?

json response: {"clients": []} 

$.ajax({ 
     type: "POST", 
     url: "/myurl/whatever.php", 
     data: myData, 
     dataType: "json", 

     success: function(msg){ 
      status.html(msg[0]); 
     }, 
     error: function(msg) { 
       status.html("Error: " + msg[0]); 
     } 

     }); 

내가 출력 JSON 응답을 원하거나 내가 뭔가를 놓친 경우 [0] 올바른 MSG를 사용하는 것입니다 :

여기 내가 사용하고 코드인가?

난 여전히 등 상태에서 responseText,

덕분에, 모두를 얻기 위해 XMLHttpRequest를 함께 위의 코드를 사용할 수있는 방법

!

답변

1

json을 사용하는 경우 XML 객체가 아닌 json 객체가 반환됩니다. [0]을 사용하지 않고 직접 출력 할 수 있습니다.

+1

응답 코드는 어떨까요? 200, 500, 등등 또는 XML 객체로 돌아올 수도 있습니까? –

+0

json 객체의 경우 콜백 내에서 상태에 액세스 할 수 있는지 확신 할 수 없지만 서버 측 스크립트에서 다른 필드와 마찬가지로 보내기 전에 json 객체에 상태를 추가하도록 할 수 있습니다 . 그런 다음 json.status를 통해 확인할 수 있습니다. – cloudhead

6

내가 아는 같은 XHR 객체를 반환하고에서 responseText 추출 할 수에서 아약스 $에 대한 호출이, 예를 들면 :

var xhr = $.ajax({ 
         url:' someInfo.php', 
         data: 'which=squirrels', 
         asynch: true 
       }); 

var resp = xhr.responseText; 

응답 텍스트는 것, JSON 문자열이 포함됩니다 어떤 용도로든 객체로 변환해야합니다.

응답을 success : 함수 내에서 json 객체로 직접 사용하려면 @cloudhead를 제안하고 msg을 사용하십시오. options의 dataType : "json"이 전환을 담당합니다.