Я искал ФОРЕВЕР и не могу придумать окончательного ответа на мою проблему. Так что вот оно. У меня есть 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');
});
Добавив строку 'callback', я перестал получать ошибку "Failed to load resource" (Не удалось загрузить ресурс). Однако, ничего не происходит. Как будто функции, которую я добавил, там даже нет. Я пытался вытащить все это и добавить простое 'alert(data)', но это даже не загорелось. Что я делаю не так? Большая проблема в том, что я на 100% ограничен только HTML и JavaScript для работы (не мой выбор). Спасибо за любую помощь!
РЕДАКТИРОВАНИЕ Хорошо, у меня нет возможности для другого сервера динамически добавлять что-либо в файл json. Поэтому я модифицировал функцию вокруг json (меньший пример):
storyData(
[{
"position":"1",
"category":"A",
"title":"Title to first story",
"description":"The first story."
}
])
Теперь все работает! Спасибо за помощь!