Я искал ответы на этот вопрос и нашел смешанные результаты...
Мой вопрос прост: как я могу просто получить JSON файл из репозитория Github, используя JQuery, JavaScript или какой-то скрипт? Я слышал о API Github, и я также слышал о "сырых" URL-адресах Github, но я хочу знать, какой из них будет наиболее эффективным и стандартным способом делать что-то подобное. Возможно, для этого потребуется PHP и заставить сервер вытаскивать репозиторий с сервера?
Если кому-то интересно, я делаю это, чтобы обеспечить простой уровень локализации. У меня есть база данных JSON с метаданными контента, которая находится на английском языке, и вы хотите предоставить средства, позволяющие пользователям переключаться на разные языки, добавлять дополнительную языковую поддержку и повышать доступность. Контроль версий и поддержка базы данных важны для меня, поэтому GitHub почувствовал себя очевидным решением.
Было бы больно вручную вытащить контент и синхронизировать сам сайт. Я хотел бы обратиться к нему так же, как я обращаюсь к разбору моих других файлов JSON, который выглядит следующим образом:
$.getJSON("contentmetadata.json", function(data){
$.each(data.content, function(i, field){
<!-- data here -->
});
});
но вместо локальных данных я хотел бы получить его с серверов Github. Если бы я мог сделать это с помощью JQuery или JavaScript, это было бы здорово, но я мог бы также попытаться реализовать PHP или серверную функциональность, если это единственный разумный вариант.
просто используйте исходный URL-адрес json файла. Гораздо важнее перекрестная политика.
Я бы согласился использовать необработанные данные по извлечению JSON файла из репозитория GitHub. В большинстве случаев это безопасно.
Использовать $.getJSON
в jQuery достаточно. Код ниже приведен только для примера.
var rawbase = 'https://raw.githubusercontent.com/';
var jsonloc = 'octocat/octocat.github.io/master/params.json';
$.getJSON(rawbase + jsonloc, function( data ) {
console.log(data);
//do what you want with data
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>