ajax with php 5,Thinkphp5与Ajax交互

功能简述

单击黄色的“cancel”按钮,修改状态status的值toBeUsed为cancel,并将按钮换成红色的“delete”按钮)

bVcQFpQ

其中,前端用jquery实现局部刷新;后端实现对数据库的操作(修改字段status的值为cancel)

前端

button标签的html代码

bVcQFpR

cancel

html文件中的js代码

bVcQFpS

function cancelReservation(obj,reserveId){

//----------可忽略----------

$(obj).prev().text("cancel");

$(obj).removeAttr("class");

$(obj).attr("class","btn-danger");

$(obj).removeAttr("onclick");

$(obj).attr("onclick","deleteReservation(this,{$eachreservation.reserveId})");

$(obj).text("delete");

//----------关键是下面这部分----------

//ajax请求服务器修改订单状态

$.ajax({

//直接写方法则默认是当前控制器下的方法

url:'cancelreservation',

//url全称

//"{:url('index/Reservation/cancelreservation')}",

type:'post',

dataType:'json',

data: {reserveId:reserveId,status:'cancel'},

success:function(data){

// alert('cancel succcess');

}

});

}

后端

bVcQFpT<?php

/**

* Created by PhpStorm.

* Date: 2021/3/20

* Time: 19:37

*/

namespace app\index\controller;

use think\Controller;

use think\Request;

//记得要引入Request,否则参数Request $request无法使用

class Reservation extends Controller

{

//取消订单

public function cancelreservation(Request $request)

{

if(empty(session('username'))){

$this->error('login please','index/Login/login');

}

//助手函数更新数据表中的数据https://www.kancloud.cn/manual/thinkphp5/135178

db('myorder')

->where('reserveId',$request->param('reserveId'))

->update(['status' => $request->param('status')]);

//$request->param里面是ajax传过来的键值对的key

return "success";

}

}

参考文章

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值