Я искал FOREVER и не могу найти окончательного ответа на мою проблему. Так вот оно. У меня есть файл JSON (я пошел в jsonlint для проверки, и он говорит, что это хорошо), который выглядит так (некоторая информация изменена):
[{
"position":"1",
"category":"A",
"title":"Title to first story",
"description":"The first story."
},
{
"position":"2",
"category":"B",
"title":"Title to second story",
"description":"The second story"
},
{
"position":"3",
"category":"B",
"title":"Title to third story",
"description":"The third story"
}
]
Я использовал jQuery для синтаксического анализа и размещения на html-странице с помощью этой функции:
$.getJSON('page.json', function(data) {
var items = [];
$.each(data.reponse, function(item, i) {
items.push('<li id="' + i.position + '">' + i.title + ' - ' + i.description + '</li>');
});
$('<ul/>', {
'class': 'my-new-list',
html: items.join('')
}).appendTo('body');
});
Он отлично работает! Теперь моя проблема: файл JSON не будет размещен локально и фактически будет размещен в отдельном домене. Поэтому я изменил свой код следующим образом (после некоторого чтения), надеясь заставить его работать:
$.getJSON('http://www.otherdomain.com/page.json?format=json&callback=?', function(data) {
var items = [];
$.each(data.reponse, function(item, i) {
items.push('<li id="' + i.position + '">' + i.title + ' - ' + i.description + '</li>');
});
$('<ul/>', {
'class': 'my-new-list',
html: items.join('')
}).appendTo('body');
});
Добавив строку "обратный вызов", я перестала получать ошибку "Ошибка загрузки ресурса". Однако ничего не происходит. Это похоже на функцию, которую я добавил, даже там нет. Я попытался взять все это и добавить простое "предупреждение (данные)", но это даже не срабатывало. Что я делаю не так? Большая проблема в том, что я на 100% ограничен только HTML и JavaScript для работы (не мой выбор). Спасибо за любую помощь!
ИЗМЕНИТЬ Хорошо, у меня нет возможности для другого сервера динамически добавлять что-либо в json файл. Поэтому я модифицировал путем жесткого кодирования функции вокруг json (меньшая выборка):
storyData(
[{
"position":"1",
"category":"A",
"title":"Title to first story",
"description":"The first story."
}
])
Теперь все работает! Спасибо за помощь!