2017-02-04 8 views
0

Я в настоящее время приложения Javascript, который состоит из трех файлов:Почитает суть JSON в виде строки запроса

index.html 
app.js 
input.json 

Файл input.json получает упоминаться несколько раз в app.js файл, для того, чтобы сделать содержимое в divs в файле index.html.

Я хочу сделать так, чтобы загрузка моего index.html в http://example.com/myapp могла принимать externall, размещенный в JSON, в качестве источника для app.js для чтения, например myexample.com/myapp?myhost.com/files/input.json ,

Может кто-нибудь посоветует мне, как это сделать?

+0

[начать здесь] (http://stackoverflow.com/a/901144/5090771), чтобы получить строку запроса в ' app.js' – WhiteHat

ответ

0

Для этого вам необходимо включить CORS на myexample.com.

Предполагаете, что используете jQuery. (Взгляните на here, если вы не хотите использовать JQuery для AJAX запросов)

$.get('http://myexample.com/myapp?myhost.com/files/input.json') 
.done(function(data) { 
    // use external 'data' here. 
}) 
.fail(function() { 
    // handle error here 
}); 
+0

Спасибо! Я использую jQuery. Итак, у меня есть идея здесь, но если myhost.com/files/input.json может быть любым URL-адресом, как я могу назвать его переменной? специально '' '$ .get ('? http://myexample.com/myapp ', функция (данные) {// использовать внешние данные '' здесь .});' '' Я хочу чтобы получить любой URL-адрес, который есть. Затем сначала проверьте, является ли это JSON, и выдайте ошибку, если нет - ИЛИ, просто выбросьте ошибку чтения, если вы пытаетесь разобрать ее как JSON в «// использовании внешних» данных здесь. прочитайте его. – dharmabum28

+0

Я отредактировал свой ответ, чтобы показать ошибки обработки на $ .get. Вы можете применить дополнительные проверки в .done(), если вам нужно. Например, проверьте, действителен ли объект данных. Вы также можете использовать блок try/catch для управления исключениями. –

+0

Я думаю, что последняя часть здесь - это получить url текущей страницы, а затем передать ее как переменную в $ .get. Правильно? – dharmabum28

 Смежные вопросы

  • Нет связанных вопросов^_^