웹 페이지의 스크립트에서 외부 JSON을 어떻게로드합니까?
-
13-09-2019 - |
문제
외부에서 데이터를로드하려고합니다 .js
많은 데이터의 JSON 표현을 포함하는 파일. 나는 내 인생에서 페이지 내부의 데이터에 액세스하는 방법을 알아낼 수 없다. 나는 이것이 정말로 쉽다고 확신하고 간단한 것을 놓치고있다! 지금, 나는 이것을 시도하고있다 :
$(document).ready(function(){
$.getJSON("http://api.crunchbase.com/v/1/company/xobni.js",
function(data){
alert(data.company_url);
});
});
... 아무 일도 일어나지 않기 때문에 분명히 매우 잘못되었습니다. 나는 그것을로드하려고 시도했다 <script>
태그이지만 Firebug는로드조차하지 않았다고 말합니다. 어떻게 조일 수 있습니까? 어쨌든, 나는 머리를 꺼낼 준비가되어 있고, 나는 이것이 다른 사람이 약 15 초가 걸릴 것이라고 생각합니다.
해결책
해당 데이터 파일에는 없습니다 company_url
기입. 또한, .js
파일은 함께 제공됩니다 text/javascript
함께 제공해야 할 때 마임 유형 application/json
(또는 application/x-javascript
, 저를 바로 잡으십시오).
진짜 이유, 물론 추가해야한다는 것입니다. ?callback=?
URL에. 그러면 모든 것이 작동합니다. 따라서 다음과 같이 보일 것입니다.
$(document).ready(function(){
$.getJSON("http://api.crunchbase.com/v/1/company/xobni.js?callback=?",
function(data){
alert(data.homepage_url);
});
});
다른 팁
JSON 데이터를 보았습니다. Company_url이없는 것 같습니다. HomePage_url을 원할 수도 있습니다
$(document).ready(function(){
$.getJSON("http://api.crunchbase.com/v/1/company/xobni.js",
function(data){
alert(data.homepage_url);
});
});
언뜻보기에 괜찮아 보입니다. 응답이 유효한 JSON이라고 확신합니까? 콘텐츠 유형이 잘못 되었습니까? 소스 URL입니다 정확한 페이지와 동일한 도메인? (프로토콜 및 포트 번호 포함)
편집하다:
JSON을로드했는데 "Company_URL"속성이 없습니다.