0

我有这个代码:

var SotriesModel = can.Model.extend({
    findAll: 'GET /api/stories/',
    create: function(story) {
        console.log(story)
        return $.ajax({
            url: '/api/stories/',
            type: 'POST',
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            data: JSON.stringify(story)
        });
    },
    update : function(story) {
        console.log(story)
        return $.ajax({
            url: '/api/stories/',
            type: 'PUT',
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            data: JSON.stringify(story)
        });
    },
    destroy: 'DELETE /api/stories/{id}'
}, {});
var story = new SotriesModel({id:123123, name:"test"});
story.save();

我对保存的期望是一个带有 JSON 的 PUT 请求,但我得到的只是 id 号:

123123
4

1 回答 1

0

使用函数的更新方法签名can.Model.update: function(id, serialized) -> can.Deffered.

因此,作为第一个参数,您始终获取 id,而作为第二个参数,您始终获取序列化数据。

更改您update : function(story) {}update : function(id, story) {}应该可以解决问题。

于 2013-09-04T20:20:59.700 回答