2016-07-01 4 views
0

jquery의 getJSON()을 사용하여 외부 json 파일을 var에 할당하려고합니다. JSON 파일에서 나는 outp와 똑같은 코드를 가지고있다. 내가 console.log에 데이터 var에 무엇을 넣으려고 할 때, 그것은 readyState1만을 보여줍니다. 즉, 서버에 연결되었지만 요청이 계속 진행되지 않는 이유는 무엇입니까?jquery로 json 파일을로드하지 않으려 고합니다 .getJSON()

<!DOCTYPE html> 
<html> 
<head> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script> 
<script type="text/javascript"> 
$(document).ready(function() { 
    var url = "content.json" 
    var outp = { 
        low   : 0, 
        high  : 99, 
        name  : "Fritz", 
        rufnummer : "012", 
        faxnummer : "345", 
        mobil  : "678", 
        mail  : "[email protected]", 
       } 

    $('#find').on("click", function(){ 

     var data = $.getJSON(url); 

     console.log(data); 
     console.log(outp); 
     console.log("Hi"); 

    }); 
}); 
</script> 
</head> 
<body> 
    <p>Postleitszahl:</p> 
    <input type="number" autocomplete="on" name="inp" id="inp"> 
    <button type="button" id="find">Finden</button> 
    <p class="output"></p> 
</body> 
</html> 

답변

0

방법 $ .getJSON는 반환 값으로 수신 된 데이터를 얻을 수 없습니다 의미 비동기 호출을 수행합니다. 나는 변화를 만들어

$.getJSON(url, function(data) { 
     console.log(data); 
     //do what you need to do with your data here 
}); 

참조 http://api.jquery.com/jquery.getjson/

희망이 도움을

+0

덕분에 도움이되지만 : 은 서버에서 보낸 응답을, 액세스하려면 콜백을 등록해야 지금 내 console.log는 아무것도 표시하지 않습니다! 이제 varr 데이터가 json에서 객체를 보유해야합니다. – Niqql

+0

오른쪽. 정의 된 함수는 요청 성공시에만 호출됩니다. "getJSON" "요청 성공"의 경우 응답은 유효한 json이고 응답에는 "Content-Type : application/json"헤더도 포함되어야합니다. 더 자세한 디버깅에 대해서는 참조 링크, 특히 "The jqXHR Object"섹션을 참조하십시오. –

0

$.getJSON 실행 비동기 : 여기 내 코드입니다. 현재 코드에서 요청이 완료되기 전에 데이터에 액세스하려고합니다.

응답에 액세스하려면 success 콜백을 사용해야합니다.

$.getJSON(url, function(data) { 
    console.log(data); 
    console.log(outp); 
    console.log("Hi"); 
}); 
관련 문제