2011-11-01 5 views
1

"jquery getJSON을 올바르게 사용하는 방법을 혼란스럽게"라는 다른 게시물에서 나는 아약스 호출 작업을 만드는 방법에 어려움을 겪고 있었고 사람들의 의견은 나를 도왔습니다.jquery parsejson 작동하지 않음

$(document).ready(function(){ 
    $("input#autofill").click(function() 
    { 
     $.get("last_year_ISBN.php", 
        function(data){ 
        alert(data); 
        var isbns = $.parseJSON(data); //creates a javascript object. 
        var elements = $('#booklist .ISBN_number'); 
        $.each(isbns, function(index, obj){ 
        alert("hello"); 
        $(elements[index]).val(obj); 
        }); 
        }, 
        "json"); 



    }); 
}); 

첫 번째 경고 (데이터가) 제대로 JSON을 출력, 그래서 나는 아약스 호출 작품을 알고 :하지만 여전히 내 JQuery와 아약스 호출은 작동하지 않습니다. 하지만 파이어 버그로 디버그를했을 때 변수 isbns가 null로 설정되어 있음을 알았습니다. 또한 콜백 함수 내에 추가 경고 ("hello")를 추가하면 호출되지 않아 화면에 표시되지 않습니다. 누군가 나를 알아낼 수있게 도와 줄 수 있습니까?

답변

0

jsonlint.com과 같은 유효성 검사기를 통해 경고 된 "json"을 실행 해보십시오. json이 유효하지 않으면 객체를 생성하지 못합니다.

+1

에서

더 json으로는 유효해야합니다 ...하지만 jsonlint.com에 어쨌든 JSON을 복사하고 그것을 잘 작동하지 않았다. 귀하의 웹 사이트는 최대 60 줄만 소요되는 것으로 보입니다. 그러나 어쨌든, 경고 ("안녕하세요")가 호출되지 않는 이유를 알고 계신가요? – user1015214

+0

이전 버전의 jQuery $ .each는 반복하지 않습니다. 개체에만 배열. 배열이나 객체가 있습니까? – AutoSponge

1

사용 시도 $.getJSON() 이것은 자동으로 응답을 JSON으로 처리합니다. 나는 결과를 생성하는 PHP 함수로 json_encode를 사용하기 때문에 $.getJSON()

관련 문제