jquery - Ajax 模式表单提交中的 {readyState : 4, getResponseHeader : ƒ, getAllResponseHeaders : ƒ, setRequestHeader : ƒ, overrideMimeType : ƒ, …} 消息

标签 jquery ajax laravel

我正在尝试使用jQuery+Ajax提交模式表单。但表单没有提交给 Controller 。我在控制台中收到的唯一消息是这条消息-

{readyState: 4, getResponseHeader: ƒ, getAllResponseHeaders: ƒ, setRequestHeader: ƒ, overrideMimeType: ƒ, …}
abort: ƒ ( statusText )
always: ƒ ()
catch: ƒ ( fn )
done: ƒ ()
fail: ƒ ()
getAllResponseHeaders: ƒ ()
getResponseHeader: ƒ ( key )
overrideMimeType: ƒ ( type )
pipe: ƒ ( /* fnDone, fnFail, fnProgress */ )
progress: ƒ ()
promise: ƒ ( obj )
readyState: 4
responseText: "Array↵(↵    [d_token] => Ox0d4UwoFNKZXDTZFKoX0iijIpaQQWpHoQ8B394p↵    [id] => 12↵    [d_full_name] => Hrushikesh Satapathy↵    [d_password] => 8585858585↵)↵"
setRequestHeader: ƒ ( name, value )
state: ƒ ()
status: 200
statusCode: ƒ ( map )
statusText: "OK"
then: ƒ ( onFulfilled, onRejected, onProgress )
__proto__: Object

我确保包含 CSRF token 的 meta 标记,但每次我单击提交按钮(UI 中的 Delete 按钮)时模态表单中,Ajax 的 error: 部分被触发。这是我的代码

模态

<button type="button" id="delete_user" class="btn btn-danger" data-toggle="modal" data-target="#deleteModal">Delete</button>


 <div class="modal-body ">
        <strong class="text-info text-center ">Please Confirm your Details</strong>
        <form id="delete_user_form" method="post">
          @csrf
          <div class="form-group">
             <input type="hidden" name="_token" id="d_csrf" value="{{Session::token()}}">
            <input type="hidden" class="form-control" id="d_id" name="d_id" value="{{Auth::user()->id}}">
             <!-- <input type="text" class="form-control" id="d_id" name="d_id" value="{{Auth::user()->id}}" readonly> -->
            <label for="d_full_name" class="col-form-label">Full Name:</label>
            <input type="text" class="form-control" id="d_full_name" name="d_full_name">
          </div>
          <div class="form-group">
            <label for="d_password" class="col-form-label">Confirm Your Password:</label>
            <input type="password" class="form-control" name="d_password" id="d_password">
          </div>
        </form>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
        <button type="submit" class="btn btn-danger" id="final_delete">Delete User</button>
      </div>
    </div>
  </div>
</div>

Ajax部分

<script type="text/javascript">
   // $(document).ready(function(){
    // alert("HELLO");
    // $('#delete_user').click(function(e){
      // e.preventDefault();
       
         $('#deleteModal').ready(function(){
          // alert("HELLO");
         
          $('#final_delete').on('click', function(e) {
           
            e.preventDefault();
             $.ajaxSetup({
            headers: {
                'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
            }
        });
       // var get_data = $("#delete_user_form").serialize(); 
            $.ajax({
               method:"post",
               url:"delete_user",
               cache: false,
               processData:true,   //Required
               contentType: 'application/x-www-form-urlencoded',
               // data:get_data,
               data:

               {
                      'd_token'             :    $("#csrf").val(),
                       'd_id'                 : $('#d_id').val(),
                     'd_email'          : $('#d_email').val(),
                     'd_password'           : $('#d_password').val(),

                },

                dataType :"JSON",
                success:function (e){
                  swal({
                        title: "User deleted Successfully",
                        text: "You will now be logged out.Sorry to see you go!!",
                         icon: "warning",
                        button: "Ok",
                        dangerMode:true
                           });
                  // console.log(e);
                  setTimeout(function(){ window.location = "login";},2000);
                },
                error:function (e){
                  swal({
                   title: "Oops! Some Error",
                   text: "Please try again later",
                   icon: "warning",
                   button: "Ok",
                  dangerMode: true,

                  });
                  // console.log(e.responseText);
                   

                },
            }); //ajax ends here

          }); //$("#final_delete").click ends

          
            
         
  });
  
 ////$('#delete_user').click(function(e) ends

 // });
 //  });



   




</script> 

Controller

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use DB;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Session;

class userController extends Controller
{
public function delete_user(Request $request){
    // echo "hello";exit;
    $user=Auth::user();
     
    $d_id =  $request->d_id;
    $d_email = $request->d_email;
    $d_password   =   Hash::make($request->d_password, ['memory' => 1024,'time' => 2,'threads' => 2,]);
        // print_r($d_password);exit;                                   
    
    

    date_default_timezone_set("Asia/Kolkata"); 
    $d_time                 =   date("Y-m-d,H:i:s ");

    // print_r($request->all());exit;

    // if (Auth::check()) {
$act =  "SELECT";
$act2 = "DELETE";
    $user_login =  DB::select('CALL my_stored_procedures(?,?,?,?,?,?,?,?,?,?,?,?)', array($act,$u_id,"","","","",0,$d_time, "","","",$d_time));
    // print "<pre>"; print_r($user_login);exit;
   
    foreach($user_login as $loguser){
   if($d_email===$loguser->email){
    if ($d_password===$loguser->password)){
    // return redirect('welcome_user');
     

      DB::select('CALL my_stored_procedures(?,?,?,?,?,?,?,?,?,?,?,?)', array($act2,$u_id,"","","","",0,$d_time, "","","",$d_time));
    return response()->json(
            [
                'success' => true,
                
            ]
        );
        Auth::logout();
        Session::flush();
            
        // return redirect('login');
   }else{
    return response()->json(
            [
                'success' => false,
                'message'=>"Wrong Password"
                
            ]
        );
   }
   }else{
    return response()->json(
            [
                'success' => false,
                'message'=>"Wrong Name"
                
            ]
        );
   }

  } //foreach ends

   




// } //auth::check ends


}//delete_user ends here

} //end of class




路线

Route::post('delete_user', 'userController@delete_user')->middleware('auth')->name('delete_user');

表单数据已传输到 Controller ,但数据库更新。并且 success: 在 Ajax 中never 被触发。请告诉我出了什么问题?

最佳答案

你犯了一个愚蠢的错误。更改u_idd_id在你的 Controller 中

$user_login = DB::select('CALL my_stored_procedures(?,?,?,?,?,?,?,?,?,?,?,?)', array($act,$u_id,"","","","",0,$d_time, "","","",$d_time)); // print "<pre>"; print_r($user_login);exit;

$user_login = DB::select('CALL my_stored_procedures(?,?,?,?,?,?,?,?,?,?,?,?)', array($act,$d_id,"","","","",0,$d_time, "","","",$d_time)); // print "<pre>"; print_r($user_login);exit;

另外,在另一个调用过程中执行此操作。

关于jquery - Ajax 模式表单提交中的 {readyState : 4, getResponseHeader : ƒ, getAllResponseHeaders : ƒ, setRequestHeader : ƒ, overrideMimeType : ƒ, …} 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64314641/

相关文章:

javascript - Rails 应用程序中文本框的 "suggest"功能

php - 可以从 REDIS 订阅返回响应吗?

php - laravel 从 5.1 升级到 5.2 时未发现特征 'Illuminate\Foundation\Bus\DispatchesCommands' 错误?

javascript - ul Accordion 中的事件非事件链接

javascript - 语义覆盖我的下拉菜单使其变大

javascript - JSON、AJAX 和 ASP.NET

ajax - Google 字体 - 通过 ajax 获取可用字体列表?

laravel - 如果 Laravel 4 中已删除用户,如何删除用户的 Logo ?

javascript - setDateDisabled + 开始/结束日期中断 bootstrap-datepicker

javascript - Highchart 容器确实包含内部 div