我想将“天气:24C”添加到rental-listing
tutorial app的super-rentals
组件中。
放置此ajax请求的“最佳做法”位置在哪里?
Ember.$.getJSON(`http://api.openweathermap.org/data/2.5/weather?q=${location}&APPID=${apiKey}`)
.then(function(json) {
return JSON.parse(json).main.temp;
});
我是否需要添加组件,添加模型,添加服务,添加第二个适配器,修改现有适配器?别的什么?所有这些?本教程使用Mirage的问题是什么?我问这个,因为当我认为我越来越近时,我得到一个这样的错误:
Mirage: Your Ember app tried to GET
'http://api.openweathermap.org/data/2.5/weather?q=london&APPID=5432',
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?
答案 0 :(得分:1)
您需要配置海市蜃楼以允许您在海市蜃楼活跃时拨打外部电话;我的意思是在this.passthrough
中使用mirage/config.js
函数,api documentation中对此进行了解释。
关于您在何处进行远程通话的问题;这取决于:
model
的{{1}}钩子中。route
ember-data
是另一回事。如果您打算使用model
;您不应该直接使用ember-data
而是使用Ember.$.ajax
提供的store
,并且可能会提供自定义适配器/序列化程序,以便在服务器的情况下将数据转换为格式ember-data
接受与ember-data
接受的格式不匹配。综上所述;如果你像在这个问题中那样使用纯粹的ajax,则不需要使用ember-data
。