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

Laravel中用Ajax点击保存按钮报错:TypeError: $.POST is not a function

解决jQuery中$.POST is not a function的错误

兄弟,这个错误其实是个很容易踩的小坑——JavaScript是严格区分大小写的语言,而jQuery的AJAX POST方法是小写的$.post(),不是你代码里写的大写$.POST(),所以浏览器才会报错说这个函数不存在。

咱们直接修复这个核心问题,顺便优化几个Laravel项目里的细节:

核心修复:方法名大小写调整

把代码里的$.POST改成$.post,这是解决当前报错的关键。

补充Laravel必需的CSRF令牌

Laravel默认会拦截没有CSRF令牌的POST请求,所以必须在请求参数里加上_token字段,不然你的请求会被后端直接拒绝。

优化代码细节

  • 变量声明加上let/const,避免全局变量污染;
  • 动态生成的表格行里不要用重复的id(比如ename、edit),ID是页面唯一标识,改成class更合理;
  • 用模板字符串重构HTML拼接,可读性更强。

修改后的完整代码:

$('form').submit(function (event) {
    event.preventDefault();
    // 声明局部变量,避免全局污染
    let name = $('#name').val();
    let address = $('#address').val();
    let country = $('#country').val();
    
    // 改成小写$.post,同时加入CSRF令牌
    $.post("{{ route('peoples.store') }}", {
        _token: "{{ csrf_token() }}",
        name: name,
        address: address,
        country: country
    }, function (data) {
        // 清空表单
        $('#name').val('');
        $('#address').val('');
        $('#country').val('');
        
        console.log(data);
        // 用模板字符串+class替代重复id,提升代码可读性
        const tr = `
            <tr>
                <td>${data.id}</td>
                <td class="ename">${data.data.name}</td>
                <td class="eaddress">${data.data.address}</td>
                <td class="ecountry">${data.data.country}</td>
                <td>
                    <button class="btn btn-warning edit-btn" data-id="${data.id}">Edit</button>
                    <button class="btn btn-danger delete-btn">Delete</button>
                </td>
            </tr>
        `;
        $('#data').append(tr);
    });
});

额外小提示:如果后端返回的是JSON格式数据,你可以给$.post加上dataType: 'json'参数,确保jQuery正确解析返回结果,示例:

$.post("{{ route('peoples.store') }}", {
    // 请求参数...
}, function (data) {
    // 回调逻辑...
}, 'json');

内容的提问来源于stack exchange,提问作者user8808874

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:58:13