【发布时间】:2019-05-15 01:00:09
【问题描述】:
是否可以使用 Ajax 更新特定对象中的单个字段? 我有一个包含大量记录的 postgres 表,我想使用 jquery Ajax 请求来更新该表中特定对象中的单个字段。可以在不替换或重新发布整个记录的情况下完成吗?
我想要这个(给我一个 400 bad request 错误):
$.ajax({
type: "POST",
url: '/api/MyEndPoint/',
data: {
id: Specific_Record,
Field_To_Update: New_Value,
},
success: function(data){
console.log( 'success, server says '+data);
}
});
而不是这个(有效):
$.ajax({
type: "POST",
url: '/api/MyEndPoint/',
data: {
id: Specific_Record,
Field_To_Update: New_Value,
Field1: SameAsBefore,
Field2: SameAsBefore,
Field3: SameAsBefore,
...
Field16: SameAsBefore,
},
success: function(data){
console.log( 'success, server says '+data);
}
});
*注意:我使用的是 Django,可以轻松地在 views.py 中进行此更新,但我想使用 Javascript 来避免页面刷新。
由于我也在使用 Django Rest Framework,创建一个特定于我要更新的字段的新端点对我来说会更好吗?例如:/api/DB_Table/Object_id/Field_to_Update
谢谢!
【问题讨论】:
-
是的,你可以这样做 - 它需要在你的服务器中处理
-
在您的路线上设置 PUT 方法以进行更新
-
当然!这太明显了,我应该知道的。我将让 Ajax ping 端点,并在我的 views.py 文件(处理端点逻辑的位置)中让 python 更新特定对象中的单个字段。感谢您在我的大脑放屁期间的帮助:)
-
@charlietfl 实际上是 PATCH 而不是 PUT
标签: javascript jquery ajax django django-rest-framework