2012-02-09 7 views
2

나는이 자바 스크립트가 있습니다

var signUp = { 
    share: function(response) { 
     alert('hello'); 
    } 
} 

$.getJSON("http://pgthatworks.com/?callback=?", {email:signUp.email, api:signUp.api, ref:signUp.ref}, function(response){ 
signUp.share(response); 
}); 

$.getJSON()가 지정한 페이지로 데이터를 전송하는 시점까지 작동하고 해당 페이지는이 작업의 수행되지만 function(response){} 부분은 실행되지 않습니다. 왜 그런가?

+0

크롬에서 네트워크 탭에 보면 시도하고 확인하거나, 오류가 난 그냥 당신이 당신의 서버에 의해 반환되는 데이터를 기록하려고 않은 GET 요청 – vittore

+0

? 어딘가에서 뭔가를 놓쳤을 수도 있습니다 – chromedude

+0

을보고하고 @vittore –

답변

2

도메인 간 요청을 수행하고있는 것처럼 보입니다. 쿼리 문자열에 콜백 매개 변수와 함께 getJSON 요청에 지정된 전체 URL을 가지고 있기 때문에이 말을합니다. 이 경우 PHP가 적절한 JSONP를 다시 보내야합니다. 즉 : 당신이 실제로 응답을받을 경우

print $callbackString.'('.json_encode($your_array).')'; 
+0

JSONP를 사용하여 총체적으로 이해할 수 있지만'$ callbackString'은 무엇이 될까요? 나는'http : //pgthatworks.com/? callback =?'을 시도했지만 여전히'parsererror'를 반환합니다. – chromedude

+1

$ callbackString은 jQuery에 의해 설정된 쿼리 매개 변수의 값입니다. 예 : $ callbackString = $ _REQUEST [ 'callback'] –

+0

아 ... 아름다운! 정말 고마워! – chromedude

관련 문제