【发布时间】:2017-08-10 04:29:32
【问题描述】:
我有一个关于我正在构建的表单的问题,基本上我有 2 个表,其中一个表是我们的“用户”,其中存储了电子邮件、密码、帐户类型等。我有另一个名为“personal_data”的表,其中存储了有关用户的更多信息,例如地址、国籍和其他信息。
只有在用户注册时才管理个人数据,而不是在注册后他进入填写个人信息的页面。在“personal_data”表中,我有一个名为“user_id”的列,用于建立表之间的关系。
我现在的问题是关于用户何时填写表单中的信息,我使用 ajax。
代码示例:
$.ajax({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
method: 'PUT',//??? PUT OR POST
url: '{{url('user/savedata')}}/{{$user->id}}',
data: {
...
}
}).done(function(response){
console.log(response);
}).fail(function(response) {
var errors = response.responseJSON;
$.each( errors, function(i, n){
//Show error message
});
});
我的问题不是我应该何时使用 PUT 或 POST,而是如何在我的 ajax 中管理我何时应该使用 POST 或 PUT,因为用户可以第一次插入数据,在这种情况下它必须是 POST,但是现在想象一下如果记录已经存在,在这种情况下他只需要更新并在 ajax 中使用 PUT。
那么我该如何处理这种情况呢?当用户已经在表中有记录时,现在怎么办?在这种情况下,最佳做法是什么?
【问题讨论】:
-
stackoverflow.com/questions/630453/put-vs-post-in-rest。如果必须(并且设置正确),Put 将更新和创建
标签: jquery ajax laravel laravel-5 laravel-5.3