ember 2.2.0 this.store.queryRecord返回错误:在Error.EmberError

时间:2015-12-22 08:42:47

标签: jquery ember.js pouchdb

我正在使用带有ember-pouch的ember 2.2.0,所以我的问题是我试图通过不同于id的param从商店检索数据这里是我的代码:

  

this.store.queryRecord(' facility',{api_number:' 42-001-1234'})

并且在以下错误后失败:

  

获取http://localhost:4200/facilities?api_number=42-001-1234 404(不是   发现)发送@jquery.js:9664jQuery.extend.ajax @   jquery.js:9215(匿名函数)@   rest-adapter.js:764initializePromise @ ember.debug.js:52308Promise @   ember.debug.js:54158ember $数据$ LIB $系统$适配器$$ default.extend.ajax   @   休息-adapter.js:729ember $数据$ LIB $系统$适配器$$ default.extend.queryRecord   @ rest-adapter.js:404ember $ data $ lib $ system $ store $ finders $$ _ queryRecord   @   finders.js:168ember $数据$ LIB $系统$店$$ Service.extend.queryRecord   @ store.js:897chooseFacility @   facility.js:16_emberMetalMixin.Mixin.create.send @   ember.debug.js:31366runRegisteredAction @   ember.debug.js:28471Backburner.run @ ember.debug.js:681run @   ember.debug.js:20105actions.push.handler @   ember.debug.js:28465(匿名函数)@   ember.debug.js:43052jQuery.event.dispatch @   jquery.js:4670elemData.handle @jquery.js:4338 ember.debug.js:30877   错误:适配器操作失败       在新错误(本机)       在Error.EmberError(http://localhost:4200/assets/vendor.js:26414:21)       在Error.ember $ data $ lib $ adapters $ errors $$ AdapterError(http://localhost:4200/assets/vendor.js:67497:50)       at ember $ data $ lib $ system $ adapter $$ default.extend.handleResponse(http://localhost:4200/assets/vendor.js:68801:16)       在hash.error(http://localhost:4200/assets/vendor.js:68881:33)       在火上(http://localhost:4200/assets/vendor.js:3350:30)       at Object.self.fireWith [as rejectWith](http://localhost:4200/assets/vendor.js:3462:7)       完成后(http://localhost:4200/assets/vendor.js:9518:14)       在XMLHttpRequest.callback(http://localhost:4200/assets/vendor.js:9920:8)onerrorDefault @   ember.debug.js:30877exports.default.trigger @   ember.debug.js:52928(匿名函数)@   ember.debug.js:54177Queue.invoke @ ember.debug.js:320Queue.flush @   ember.debug.js:384DeferredActionQueues.flush @   ember.debug.js:185Backburner.end @ ember.debug.js:563Backburner.run @   ember.debug.js:685run @ ember.debug.js:20105hash.error @   rest-adapter.js:761fire @ jquery.js:3148self.fireWith @   jquery.js:3260done @jquery.js:9316callback @jquery.js:9718

1 个答案:

答案 0 :(得分:1)

看起来你的问题不是在Ember方面,而是在你的后端。查询已正确转换为带有URL参数的GET请求,但您的后端服务器返回404.如果您使用返回的promise,例如:

this.store.queryRecord('facility', { api_number: '42-001-1234'})
.then(function(result) {...})
.catch(function(error) {...});

你可以处理异常。