Как заставить mockjax вернуть объект ember-data

Учитывая, что у меня есть модель Ember-data (это CoffeeScript):

Person = DS.Model.extend firstName: DS.attr("string") lastName: DS.attr("string")

Или как JavaScript:

Person = DS.Model.extend({ firstName: DS.attr("string"), lastName: DS.attr("string") });

Как я могу использовать mockjax для возврата объекта Person из магазина? Этот mockjax не работает (я думаю), потому что он возвращает анонимный объект JavaScript, а не объект Person.

$.mockjax type: "GET" url: "/people" data: { firstName: "John"} status: "200" dataType: "json" response: (d) -> person = { id: 2 firstName: John lastName: Smith } @responseText = person

Или как JavaScript:

$.mockjax({ type: "GET", url: "/people", data: { firstName: "John" }, status: "200", dataType: "json", response: function(d) { var person; person = { id: 2, firstName: John, lastName: Smith }; return this.responseText = person; } });

Я использую ES6 FYI.

1 ответ

Решение

Вы близки, но вместо передачи переменной в responseText, просто передайте ей весь объект, который вы создаете.

Вот так:

$.mockjax
    type: "GET"
    url: "/people"
    data: { firstName: "John"}
    status: "200"
    dataType: "json"
    response: (d) ->
     @responseText = person: 
      [
       {
         id: 2
         firstName: John
         lastName: Smith
       }
      ]
Другие вопросы по тегам