2016-06-02 4 views
0

Обычно я получаю данные от службы, которую я создал, жестко закодированный JSON. Но мне нужно взять JSON из URL-адреса.Использование JSON Api URL EmberJS

Это мой Twiddle:

https://ember-twiddle.com/b9cd8b1b3418d876f88235c4aa99e268?openFiles=templates.pic.hbs%2Ctemplates.components.image-list.hbs14

Как я могу добавить URL в качестве источника вместо вызова его от службы «фото»? Я что-то пробовал, но получил ошибки и ничего не мог сделать. Я очень новичок в этом.

Я попытался

model() { 
    return $.getJSON('/my-url'); 
} 

Но я получаю эту ошибку:

Mirage: Your Ember app tried to GET 'my URL', but there was no route defined to handle this request. Define a route that matches this path in your mirage/config.js file. Did you forget to add your namespace? 

Я совершенно не имел ни малейшего представления об этой ошибке, потому что я не использую мираж, я создал это да, но не сделал использовать в любой части проекта.

Тогда я попробовал:

import Ember from 'ember'; 

export default Ember.Route.extend({ 
    model() { 
     this.get('my Json url',() => { 
      return []; 
     }); 
    } 
}); 

Теперь devTool Хрома не дает какой-либо ошибки, но все, что я вижу, это пустая страниц. Это все неправильно или это что-то о файлах .hbs?

Любые идеи? Спасибо!

+0

Похоже, что у вас есть ember-cli-mirage в зависимости от проекта. – locks

+0

Да, я удалил его из папки npm-modules и packages.js. Но я до сих пор не вижу ничего, кроме пустой страницы, без ошибок. Так что я застрял. https://ember-twiddle.com/9c97721125a007fa52108ecdf9f72e0d?openFiles=models.list.js%2Ctemplates.components.image-list.hbs Возможно, вы можете увидеть, что не так в новой игре? – hbc

ответ

1

Uninstall ember-cli-mirage и вернуться к:

model() { 
    return $.getJSON('/my-url'); 
} 
+0

Спасибо, я сделал это, но все же все, что я вижу, это пустая страница без ошибок. Это о моем файле .hbs? Я не могу понять, почему. Раньше я использовал сервис, теперь, может быть, мне нужно что-то изменить? Можете ли вы, пожалуйста, проверить мой новый поворот, вы можете видеть, что здесь все пусто. https://ember-twiddle.com/9c97721125a007fa52108ecdf9f72e0d?openFiles=models.list.js%2Ctemplates.components.image-list.hbs – hbc

+0

Я вижу 4 ошибки в консоли - во-первых, Ember Twiddle использует протокол HTTPS, и вы пытаетесь загрузить HTTP page - что вызывает ошибку смешанного содержимого, поэтому запрос от getJSON не работает, тогда из-за этого из-за этого выводится ошибка маршрутизации. Вы должны либо попробовать его локально, либо вместо Ember Twiddle, или вам нужно запросить HTTPS-страницу вместо HTTP от Ember Twiddle. –

+0

Я изменил http: // на https: // но все равно ничего. Я должен что-то упустить. Как насчет моих файлов list.js и .hbs? они выглядят хорошо? – hbc

0

я понял, что проблема была с некоторой помощью:

Решение:

В моем index.js, я должен был использовать

{{image-list model=model.Data currentPos=currentPos }} 

вместо

{{image-list model=model currentPos=currentPos }} 

Кроме того, мне не нужны никакие model/*.js, потому что я получаю model() от IndexRoute, поэтому я удалил эти файлы. Спасибо

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