$http put v create - 每个 (JavaScript) 中从 .success() 返回的数据对象有什

$http put v create - what is the difference between the data object returned from .success() in each (JavaScript)

本文关键字:返回 success 数据 对象 中从 JavaScript put http create 每个      更新时间:2023-09-26

$http.create v $http.put中从.success()返回的"data"变量之间有根本区别吗?

我在下面的 2 个不同函数中添加了"console.log(data)"(并包括 Rails 控制器以供参考),因此我们可以看到输出的差异。

创造

i.create = function(item) {
    return $http.post('/items.json', item).success(function(data) {
        console.log(data);
    });
};
def create
    respond_with Item.create(item_params)
end

i.edit = function(id, item) {
    return $http.put('/items/' + id + '.json', {item: item}).success(function(data) {
        console.log(data);
    });
};
def update
    item = Item.find(params[:id])
    item.update_attributes(item_params)
    respond_with item
end

第一个函数在下面打印到控制台,(包括对象

app.self-58d6f492fc5c0efae12da42ede8f7ad0257b7e5ce84e944443b2beecbb803e20.js?body=1:165
<br>
 Object {id: 22, desc: "testabc", list_id: null, created_at:
"2016-03-10T02:47:05.194Z", updated_at: "2016-03-10T02:47:05.194Z"…}

第二个函数打印到下面控制台,(无对象

app.self-58d6f492fc5c0efae12da42ede8f7ad0257b7e5ce84e944443b2beecbb803e20.js?body=1:186

这两个功能都工作并完成其工作。但是从 PUT 返回的"数据"不包含该对象。

为什么会这样?

两者

之间没有根本区别,唯一使它们不同的是来自服务器的数据响应。服务器的更新控制器可能无法响应 json 对象。