2010-02-09 5 views
0

콜백에 도착할 때까지 jquery를 통해 ajax 호출을 오류없이 실행합니다. 반환 된 콘텐츠는 다음과 같습니다.Jquery Ajax 콜백

{"UPSELLABLE":true,"OFFERTEXT":"p47r.cfm"} 

경고 (upselldata); 위의 데이터를 알려줍니다. 하지만 자바 스크립트 개체처럼 변수 upselldata에 액세스하려고하면 (jquery가 이미 나를위한 평가 작업을 수행했다고 생각합니다) 변수는 정의되지 않습니다. 아래 코드를 참조하십시오.

 $.ajax({ 
     type: "POST", 
     datatype: "json", 
     data: "ProductID=1", 
     url: '/templates/public/upsell_available.cfm', 
     success: function(upselldata) {    
      alert(upselldata.UPSELLABLE); // upselldata.upsellable is undefined!?!?! 
     } 
     }); 

답변

2

"데이터 유형"이 아닌 "dataType"을 사용하십시오. Javascript는 대소 문자를 구분하므로 jQuery는 설정을 무시합니다.

jQuery는 응답에서 헤더를 올바르게 설정하면 데이터 유형을 자동 감지 할 수 있습니다 (텍스트로 다시 보내고 있다고 가정 함).

+0

하하, 빙고. 좋은 눈. – Darthg8r

+0

+1 기본 jQuery 호출이 JavaScript 객체를 반환한다는 것을 전혀 알지 못했습니다. – Damien