Laravel Ajax的用法

这篇博客详细介绍了在Laravel框架中使用Ajax的方法,包括定义重置密码的路由,返回JSON数据,传递用户ID以及如何利用jQuery进行响应操作。通过实例展示了Ajax交互的步骤,帮助读者理解并掌握Laravel中的Ajax应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Ajax的用法

貌似我写的笔记就只能我才能看懂,哈哈,这也许不能怪您没有好的阅读方法,
1、定义 重置密碼 的路由

Route::patch('/usersd/{id}/repw',"UserController@repwd")->name('users.repwd');
Route::patch('test',"UserController@test");

2、返回 json 数据

public function test(){
     $user=User::find(request()->id);

     $this->authorize('repwd',$user);
     $user->password=bcrypt("123456789");
     $res = $user->save();

     return response()->json([
         "flag"=>$res,
         "code"=>200,
         "msg"=>"成功"
    ]);

3、传用户ID,定义一个bj类

@can('repwd',$user)
    <button type="submit" data-user="{{$user->id}}" class="btn btn-sm btn-danger bj delete-btn"
    style="margin-left:10px;">编辑</button>

@endcan

4、引入jQuery,进行响应操作

<script src="https://cdn.jsdelivr.net/npm/jquery@1.12.4/dist/jquery.min.js"></script>
<script>
    $(function(){
        $(".bj").each(function(i,e){
            $(e).click(function() {
                // body...
                //
                console.log(234)
            var that = $(this);
            var user = $(e).data('user')
            $.ajax({
                headers:{
                    //请求验证
                    'X-CSRF-TOKEN':'{{csrf_token()}}'
                },
                //提交方式
                type:"patch",
                //地址
                url:"{{url('/test/')}}",
                //类型
                dataType:"json",
                //数据
                data:{
                    id:user
                },
                //回调函数
                success:function(data){
                    if(data.flag){
                        alert("成功")
                    }else{
                        alert("失敗")
                    }
                }

            })
            })

        })
      })
</script>

二、Ajax的用法

return response()->json(需要 json 输出的数据)return response()->json($data);

1、返回 json 数据

//ajax页面展示
	public function test1(){
		return view('test1');
	}

	// ajax的响应
	public function test2(){
		//查询数据
	Member::all();
		//json格式响应
		// return json_encode($data);

		//在 laravel 中框架如果需要响应 json 数据,则写成语法;在 laravel 中布尔值是不能通过return响应输出的
		// return response()->json(需要 json 输出的数据);
		// return response()->json($data);

		// return ['a'=>'我想你了'];
		// $res = "wxnl";
		return response()->json([
			// "flag"=>$res,
			"msg"=>"成功了"
		]);
		// dd($data);
	}
}

2、请求响应

<script type="text/javascript">
	//jQuery的页面载入事件
	$(function(){
		//给按钮绑定点击事件
		$("#btn").click(function(){
			// $.get(地址,[参数对象,回调,期望返回类型]);
			// $.post(地址,[参数对象,回调,期望返回类型]);
			// $.ajax(obj);参数只有一个,就是参数的对象;
			// $.getJSON(地址,[参数对象,回调]);该方法一般用于解决跨域请求;


			var wd = $.get('test2',function(data){
						// console.log('我想你了');
						if(data.msg){
							alert("我想你了");
						}else{
								alert('你莫走');
							}
						},'json');

				
			// alert('522')
		});
	});

</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值