Как отправить всплывающую форму с запросом ajax в laravel - PullRequest
0 голосов
/ 04 октября 2018

Мой Ajax-код

            Query(document).ready(function(){
            jQuery('#password_form').click(function(){
           $.ajaxSetup({
              headers: {
                  'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content')
              }
          });
           jQuery.ajax({
              url: "{{ url('/changepassword') }}",
              method: 'post',
              data: {
                 password: jQuery('#password').val(),
                 new_password: jQuery('#new_password').val(),
                 password_confirmation: jQuery('#password_confirmation').val()
              },
              success: function(result){
                 console.log(result);
              }});
           });
        }); 

Мой контроллер:

         public function changepassword(Request $request){
    $user = Auth::guard()->user();
    $request_data = $request->All();
    $validator = $this->admin_credential_rules($request_data);
    if($validator->fails()) {
          $errors = $validator->errors();
        $errors = json_decode($errors);

        return response()->json([
            'success' => false,
            'message' => $errors
        ], 422);            } else {

        $current_password = $user->password;
        if(md5($request_data['password']) == $current_password) {
            $user_id = $user->id;
            $obj_user = User::find($user_id);
            $obj_user->password = md5($request_data['new_password']);
            $obj_user->save();

             return \Illuminate\Support\Facades\Redirect::to('mujucet')
                ->with("modal_message_success", "Password has been changed successfully");
        } else {
            return \Illuminate\Support\Facades\Redirect::to('mujucet')
                ->with("modal_message_danger", "wong old password");           
     }
    }
}

У меня есть всплывающее окно, есть три поля: 1 - пароль 2 - новый_пароль 3 - пароль_контроль

До ajax моя форма отправлялась, но я хочу отправить форму с ajax, чтобы мою страницу не нужно было перезагружать, и мои всплывающие сообщения об ошибках и ошибках должны отображаться в моей всплывающей форме, но здесь, когда я нажимаю кнопку, ее перезагрузка, а также значения не отправляются.

Я не знаю, что не так с моим запросом ajax.Ваша помощь будет высоко оценена!

Заранее спасибо, нужна ваша помощь.

Ответы [ 2 ]

0 голосов
/ 05 октября 2018

Ваша всплывающая кнопка отправки должна быть кнопкой не отправлять

<button type="button" class="btn btn-primary" title="" 
id="btn_submit">add</button>

<script>
$('#btn_submit').click(function () {
var type = $('#contain-type').val(); // take your all values you want to send 

/*ajax call*/
$.post(baseUrl + '/admin/confirmation-mail(your route)',{"_token": "{{ 
csrf_token() }}", id: parameter, subject: parameter},
function (data, status) { 
alert(data);
});
)};
</script>

Контроллер

public function name(Request $request){
dd(request->all()); //add your php code
}
0 голосов
/ 05 октября 2018
 $("#myform").submit(function(e){
    e.preventDefault();
    //put your ajax here
 });

Вы должны запретить отправку формы, используя приведенный выше код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...