Как заставить 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
}
]