You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在jQuery中获取数据库最后插入ID?PHP与JS交互方案

解决方法

1. 修改PHP代码(islem.php)

将原本仅返回字符串ok的逻辑,改为返回JSON格式数据,同时传递状态标识和最后插入ID,还要设置正确的响应头让前端识别格式:

if($_POST['tip']=='yizlettir'){
    if(isset($_SESSION['serverOturum']) && $_SESSION['serverOturum']){
        if(isset($_POST['yizTitle']) && $_POST['yizTitle']) {

            $yizStock     = guvenlik($_POST['yizStock']);
            $yizEarn      = guvenlik($_POST['yizEarn']);
            $yizLink      = guvenlik($_POST['yizLink']);
            $yizTitle     = guvenlik($_POST['yizTitle']);
            $yizDesc      = duzenliMetin(guvenlik(mod1($_POST['yizDesc'])));
            $yizMin       = guvenlik($_POST['yizMin']);

            $ok  =   DB::insert('INSERT INTO izlekazan (user_id,url,title,description,earning,stock,min_watchtime) VALUES (?,?,?,?,?,?,?)',array(1,$yizLink,$yizTitle,$yizDesc,$yizEarn,$yizStock,$yizMin));
            $lastId = $ok->insert_id;

            if ($ok){
                // 组装响应数据
                $response = [
                    'msg' => 'ok',
                    'last_insert_id' => $lastId
                ];
                // 设置响应头为JSON类型
                header('Content-Type: application/json');
                // 输出JSON格式数据
                echo json_encode($response);
                exit;
            } else {
                // 处理插入失败场景
                $response = [
                    'msg' => 'error'
                ];
                header('Content-Type: application/json');
                echo json_encode($response);
                exit;
            }
        }
    }
}

2. 修改jQuery代码(server.js)

指定$.post的响应类型为JSON,直接解析返回的对象获取ID,并拼接到跳转URL中:

$('#yizSub').on('click',function() {
    var yizTitle = $("#yizTitle").val();

    if(yizTitle.length > 1){
        bekleyin();
        $.post("../operation/islemmerkezi.php", {
            tip:"yizlettir",
            yizTitle:yizTitle,
        }, function(R) {
            if(R.msg === "ok"){
                Swal.fire({
                    icon:"success",
                    confirmButtonText: 'Tamam',
                    title: `İşlem başarılı`
                }).then((result) => {
                    if (result.isConfirmed) {
                        // 拼接最后插入ID到跳转地址
                        window.location.href = '../yizlettir.php?id=' + R.last_insert_id;
                    }
                });
            } else {
                // 展示操作失败提示
                Swal.fire({
                    icon:"error",
                    confirmButtonText: 'Tamam',
                    title: `İşlem başarısız`
                });
            }
        }, 'json'); // 指定响应格式为JSON
    }
});

核心说明

  • PHP端通过json_encode()将数组转为JSON字符串,配合Content-Type头确保前端正确解析。
  • jQuery通过指定'json'响应类型,自动将返回的JSON转为JS对象,直接通过属性访问获取数据。
  • 补充了插入失败的处理逻辑,提升代码的健壮性。

内容的提问来源于stack exchange,提问作者Muhammet Sinan Korkut

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 11:45:32