?Briella 2017-03-18 17:17 采纳率: 0%
浏览 565

在Ajax请求中进行PUT或POST

i have a question regarding a form that im building, basically i have 2 tables, where one table us "users" where is stored email, password, account_type,etc. Than i have another table called "personal_data" where is stored more information regarding the user, like address, nationality, and other info.

The personal data is manage only when the user registers, than after registration he goes to a page where he fills the personal information. In the table "personal_data" i have a column called "user_id" where make the relations between the tables.

My question is now regarding when the user goes fill the information in the form, im using ajax.

Code example:

$.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

                });
            });

My question is not when i should use PUT or POST but how to manage in my ajax when i should use POST or PUT, since the user can be inserting the data for the first time and in this case it must be POST, but now imagine if the record already exist, in this case he just only need to update and in the ajax use PUT.

So how can i manage this situation? How to now when the user already have a record in the table? What is the best practice in this case?

  • 写回答

2条回答 默认 最新

  • weixin_33724059 2017-03-18 17:22
    关注

    Handle this situation before post check is data is already exist if then show err msg already exist else add, measure difference b/w post in put, PUT take is as url, but POST only takes endpoint.

    评论

报告相同问题?