2010-01-19 7 views
0
$.getJSON("http://yoolk.dev:3012/categories?callback=?", function(data) { 
    console.log(data) 
} 
); 

json 데이터를 얻기 위해 위의 코드가 있지만 콜백 함수가 작동하지 않는 것 같습니다. 누구든지 도울 수 있니? 고마워jQuery getJSON 문제

+1

'http : //yoolk.dev : 3012/categories'에 있으며 콜백을 지원합니까? –

+0

아니요. firefox에서 콘솔의 데이터를 볼 수 없습니다. 나는 이유를 모른다. 어떤 생각? – Sinal

답변

1

요청이 실패하면 콜백이 호출되지 않습니다. 아래 예와 같은 것을 사용하여 실패를 감지 할 수 있습니다. JQuery와는

여기

, task.run는 아약스 요청을 수행하고, checkStatus 기능은 결과를 확인 ... 하나의 결과를 확인하는 타이머를 구현하는 jsonp 오류가 발생할 경우 오류 처리기를 호출 ... 그렇게하지 않습니다.

var task = { 
    complete: 0, 
    timeout: 5000, 

    run: function() { 
    $.ajax({ 
     type: 'get', 
     url: 'http://www.yahoo.com', 
     dataType: 'jsonp', 
     timeout: this.timeout, 
     complete: function(req, status) { 
     this.complete = 1 
     if (status == "success") { 
      alert('Success'); 
     } else { 
      alert('Error: ' + status) 
     } 
     } 
    }) 

    var o = this 
    setTimeout(function() {o.checkStatus()}, this.timeout + 1000) 
    }, 

    checkStatus: function() { 
    if (!this.complete) { 
     alert('Error: Request did not complete') 
    } 
    } 
} 

task.run() 
+0

이 용도로 가장 적합한 솔루션은 무엇입니까? – Sinal

+0

위의 내용을 사용하여 상태를 확인할 수 있습니다 (5 초 후에 시간 초과됩니다). 요청이 실패한 이유를 알아 보려면 Firebug의 Net 탭을 확인하고 (요청 유형으로 "모두"선택) 입/출력 데이터를 확인하십시오 – jspcal

관련 문제