Как мне загрузить внешний 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
mime-тип, когда его следует подавать с 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".