ajax在button中使用onclick失效原因

本文探讨了在页面提交过程中,使用button的onclick方法绑定AJAX请求无法正常工作的问题,并对比了使用click方法的成功案例。分析了两种方法的区别,解释了为何使用click方法能确保文档加载完成后才执行。

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

        在做页面提交的时候,发现通过button中onclick绑定的方法时,怎么也无法提交ajax请求,但是使用click方法的时候确实可以成功。因缺思厅。这里做下分析。先看下代码

1、使用onclick方法

<input id="login" name="" onclick="login()" type="button" class="btn btn-success radius size-L col-xs-3" value=" 登    录 ">
function login() {
        $.ajax({
            type:"POST",
            url:"{:url('admin/login/check')}",
            data:$("form").serialize(),
            dataType:'json',
            success: function(data) {
                    if (data.status == 1) {
                        window.location.href="{:url('index/index')}";
                    }else {
                        alert(data.message);
                    }
            }
        });
    }

2、使用click方法

$(function(){
        $("#login").on('click',function (event) {
            $.ajax({
                type:"POST",
                url:"{:url('admin/login/check')}",
                data:$("form").serialize(),
                dataType:'json',
                success: function(data) {
                    if (data.status == 1) {
                        window.location.href="{:url('index/index')}";
                    }else {
                        alert(data.message);
                    }
                }
            });
        })
    })

分析

    查阅资料后,明白ajax动态加载之前js就加载完了。这TM就很尴尬了,使用onclick没有绑定上,而第二种方法之所以可以成功,主要是因为$(function(){})的原因,简单的来说,这个函数可以在文档载入完成后执行,就是因为这个原因,所以第二个方法提交ajax才可以成功!


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值