我正在试图通过我的第一个Ember.js应用程序,并努力弄清楚如何采用我的样板/基于教程的代码并让它将参数传递到我的Flask后端。
我想根据邮政编码提供本地活动,邮政编码会传递到后端。
我遇到了关于选择完全转换(http://emberjs.com/guides/routing/query-params/#toc_opting-into-a-full-transition)的此页面,现在看到的是参数名称,但没有看到通过API请求的值。
我在浏览器中访问此网址:http://localhost:5000/?zip=21210
我得到了:
127.0.0.1 - - [22/Dec/2014 23:20:51] "GET /?zip=21210 HTTP/1.1" 200 - # first call to load page
127.0.0.1 - - [22/Dec/2014 23:20:52] "GET /api/v1/events?zip= HTTP/1.1" 200 - # call to API
我的app.js文件:
App = Ember.Application.create();
App.Router.map(function() {
location: 'auto'
// put your routes here
//this.resource('events', {path: '/'})
});
//var attr = DS.attr;
DS.RESTAdapter.reopen({
namespace: 'api/v1'
});
App.Event = DS.Model.extend({
name: DS.attr('string'),
address: DS.attr('string')
});
App.IndexRoute = Ember.Route.extend({
queryParams: {
zip: {
refreshModel: true
}
},
model: function(params) {
return this.store.findQuery('event', params);
}
});
App.IndexController = Ember.ArrayController.extend({
queryParams: ['zip'],
zip: null
});
答案 0 :(得分:1)
queryParams
将zip
绑定到控制器中zip
的属性null
。这就是您看到一个空的zip
参数传入服务器的原因。
确保为zip
属性分配一个非空值,您将不再看到zip
参数为空。