解决火狐浏览器发送jquery的ajax请求无效的问题

今天遇到这样一个问题:
页面在chrome下发送ajax的请求是没有问题的,但是在firfox下无效。

代码大致如下:

//前面省略
<form>
.....
<button class="btn btn-primary" onclick="generateScore(this);"><i class="fa fa-random"></i>&nbsp;生成成绩</button>
<button class="btn btn-primary" type="submit"><i class="fa fa-search"></i>&nbsp;查询成绩</button>
......
</form>
......
<script>
    function generateScore(obj) {
        $(obj).prop('disabled',true);
        var params={};
        params.groupId=$("select[name=groups]").val();
        $.common.postJSON("请求的URL",params,function (data) {
            if(data.success){
                //....相关逻辑
            }else{
                //....相关逻辑
            }
        });
    }
</script>
//后面省略

封装的common.js

(function ($) {
    $.common = {
        postJSON: function (url, data, success) {
            $.ajax({ type: "post", url: url, data: data, dataType: "json", success: success, error: function () { $.common.myAlert("系统异常,请稍后重试!"); } });
        }
     }
   })(jQuery);

Firefox中点击生成成绩的按钮一直弹出系统异常那段提示,而在chrome中执行正常,
后来在网上搜了很多资料博客
参照MDN的文档发现,Firefox中button默认的type为submit……
button的type默认值

因此点击按钮的时候不是提交到请求的URL,而是提交了form表单…..

解决办法:
设置按钮的type属性为 button就行了

<button class="btn btn-primary" type="button" onclick="generateScore(this);"><i class="fa fa-random"></i>&nbsp;生成成绩</button>

以上是本人遇到这个问题的解决办法,希望对读者有所帮助

转载于:https://www.cnblogs.com/ss0xt/p/8569782.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值