2012-06-26 2 views
0

왜 getJSON 메서드는 로컬 파일에서만 작동합니까? 내가 로컬에서 json을 가져 가고 싶다면 작동하지만 http로 URL을 설정하면 작동하지 않습니다. 왜?getJSON - 왜 작동하지 않았습니까?

<!DOCTYPE html> 
<html> 
    <script src="http://code.jquery.com/jquery-latest.js"></script> 
    </head> 
    <script> 
     $.getJSON("http://www.address.com/getTables.php", function (data) { 
      $.each(data, function (i, table) { 
       $("#tables").append("<p>" + table.id + " " + table.tabname + "</p>"); 
      }); 
     }); 
    </script> 

    <body> 
     <div id="tables"></div> 
    </body> 

</html> 

반환 JSON : 당신은 아마 same-origin policy로 실행중인 같은

[{ "id":"12", "tabname":"cukry" }, { "id":"11", "tabname":"table" }] 
+0

당신이 우리에게'getTables.php' 코드를 보여줄 수 JSONP here에 대한 자세한 내용을 참조하십시오? 또한'$ .getJSON'을 실행하려고 할 때 * 어떤 일이 발생합니까? Chrome의 개발자 도구를 사용하고 네트워크 탭이나 콘솔을 살펴 보시기 바랍니다. –

+0

gettables.php php가 정확합니다. Json을 반환합니다. 간단히 말해서 Json 파일을 http로 가져 가면 작동하지 않습니다 (http://www.address.com/test.json). 뭐가 문제 야? 이 JSON 파일 만 보여주고 싶습니다. – pkrr

+0

'$ .getJSON'으로 요청을 제출하려고 할 때 * 어떤 일이 발생합니까? Chrome 개발자 도구의 콘솔 및 네트워크 탭을 확인합니다. –

답변

3

소리가 난다.

+0

GET http://pkr.mydevil.net/panel/actions/ NagłówkiHTML Nagłówki이 odpowiedzi (8240 wiersz) getTables.php \t 200 OK \t \t 154ms \t JQuery와 - latest.js 연결 \t 연결 유지 콘텐츠 유형 \t text/html과 날짜 \t 2012년 (화) 6월 26일 12:47:31 GMT 서버 \t nginx 전송 인코딩 \t 덩어리로 처리 됨 X-Powered-By \t PHP/5.3.11 Nagłówki zapytania Accept \t application/json, text/javascript, */*; Q = 0.01 수락 인코딩을 \t GZIP을 EN-US, 수락 - 언어 \t PL을 수축, Q = 0.7, 욕실, Q = 0.3 연결 \t 연결 유지 호스트 \t pkr.mydevil.net 원산지 \t 널 (null)을 사용자 에이전트 \t Mozilla/5.0 (Windows NT 6.1, rv : 13.0) Gecko/20100101 Firefox/13.0.1 FirePHP/0.7.1 x-insight \t – pkrr

+0

용서해주십시오. –

0

Matt가 말한 것처럼 same origin policy입니다. JSONP를 사용해보십시오. 당신은이 같은 요청의 URL에 콜백을 추가해야합니다

$.getJSON("http://www.address.com/getTables.php?jsoncallback=?", function (data) { 
     $.each(data, function (i, table) { 
      $("#tables").append("<p>" + table.id + " " + table.tabname + "</p>"); 
     }); 
    }); 

관련 문제