Невозможно добавить данные с использованием модели ember-data
Контроллер / новый клиент
actions: {
addInfo: function() {
var name = this.get('name');
var e_mail = this.get('e-address');
var emoney = this.get('e-money');
var newCustomer = this.store.createRecord('customers', {
name : name,
email : e_mail,
emoney : emoney
});
newCustomer.save();
alert("You\'re added");
}
Модель / customers.js
import DS from 'ember-data';
export default DS.Model.extend({
name:DS.attr('string'),
email:DS.attr('string'),
emoney:DS.attr('number'),
rev: attr('string')
});
шаблоны / New-customer.hbs
<form class="form-horizontal">
<div class="form-group control-group error">
<label class="control-label" for="inputError">Name</label>
{{input type="text" class="form-control" value=name placeholder = "Enter your name" size="15"}}
</div>
<div class="form-group">
<label>Email Address</label>
{{textarea type="text" class="form-control" value=e-address placeholder = "Enter your Email Address"}}
</div>
<div class="form-group">
<label>E-Money</label>
{{input type="number" class="form-control" value=e-money}}
</div>
<button {{action 'addInfo'}}type="button" class="btn btn-primary">Submit !!</button>
</form>
Я что-то пропустил? Ошибка, которую я получаю на консоли при нажатии кнопки "Отправить":
Не удалось загрузить ресурс: сервер ответил с состоянием 404 (не найдено) vendor.js:27458 Запрос данных Ember POST / клиенты возвратили полезную нагрузку 404 (text/html; charset=utf-8) Не удается POST / клиенты
Ошибка в AdapterError ( http://localhost:4200/assets/vendor.js:83957:16) в Class.handleResponse ( http://localhost:4200/assets/vendor.js:85238:14) в ajaxError ( http://localhost:4200/assets/vendor.js:85736:25) в Class.hash.error ( http://localhost:4200/assets/vendor.js:85310:23) при пожаре ( http://localhost:4200/assets/vendor.js:3637:31) в Object.fireWith [как rejectWith] ( http://localhost:4200/assets/vendor.js:3767:7) в готовом состоянии ( http://localhost:4200/assets/vendor.js:9576:14) в XMLHttpRequest. ( http://localhost:4200/assets/vendor.js:9816:9) defaultDispatch @ vendor.js: 27458
1 ответ
Похоже, Ember Data работает правильно, но ваш сервер API работает или настроен неправильно.
newCustomer.save();
пытается сохранить запись в вашем API, и ошибка объясняет точную проблему:
Failed to load resource: the server responded with a status of 404
(Not Found) vendor.js:27458 Ember Data Request POST /customers
returned a 404 Payload (text/html; charset=utf-8) Cannot POST /customers
Пытаться POST
данные для /customers
на вашем API получается 404 на сервере.