Невозможно добавить данные с использованием модели 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 на сервере.

Другие вопросы по тегам