开发过程中遇到的BUG以及解决办法

2017-03-20  本文已影响282人  XZ阳光小熊

1、ajax报错
有时候写ajax请求的时候格式书写正确但是报400错误,此时可能是传递的数据与后台规定的数据类型不匹配,例子如下:

$.ajax({
        type: "post",
        url: "/testurl.do",
        dataType: "json",
        data:{
            settlementType: 2,
            settlementMonth: settlementMonth,
            settlementMoney: countMoney,
            settlementNumber: settlementNumber,
            status: 2,
            carID: carID
        },
        success: function (data) {
            console.log(data)
            if (data == 1) {
                loadCarSettlementRecord()
            } else {
                $.messager.alert('提示信息','结算失败,请稍后再试....');
            }
        }
    })

此处可以看到书写格式没有问题,因为后台语言是Java,settlementMoney字段有可能是一个浮点型的数据,在sql中它的类型是decimal,它在后台生成的时候是long类型,但是实际上应该将其改为BigDecimal类型否则会报400的错误并且不能进入后台写的控制器。

2、js在标签内写事件并传参
问题如下:当我们有些时候必须在标签内执行方法并传参的时候,按平常的字符串拼接的方式来传参的话,就会报错,具体解决方法有两种。 第一种:采用ISO-8859-1中的"来表示双引号或者 '来表示单引号;第二种:采用转义的方法来写引号'或者"如下述实例。

        var a = 1;
        body.append('<a href="javascrpt:void(0)" onclick="test(\''+ a +'\')"></a>')
        function test(param) {
            console.log(param)
        }

3、css动画在360浏览器兼容模式下没有效果

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta http-equiv="X-UA-Compatible" content="IE=8">
<meta name="renderer" content="webkit">

4、十六进制透明度
00%=FF(不透明) 5%=F2 10%=E5 15%=D8 20%=CC 25%=BF 30%=B2 35%=A5 40%=99 45%=8c 50%=7F
55%=72 60%=66 65%=59 70%=4c 75%=3F 80%=33 85%=21 90%=19 95%=0c 100%=00(全透明)

background:rgba(0,0,0,0.5); 
filter: progid:DXImageTransform.Microsoft.gradient(startcolorstr=#7F000000,endcolorstr=#7F000000);

** HTML5 input file 打开很慢的问题
我们在代码中使用了HTML5的input[file]标签去上传图片

<input type="file" name="file" class="element" accept="image/*">

当我们在Chrome浏览器中上传图片的时候有时候对话框会延迟较长时间才能打开,解决方案是直接去掉accept属性,或者指定图片格式:

<input type="file" name="file" class="element" accept="image/gif,image/jpeg,image/jpg,image/png,image/svg">

史上最全的CSS hack方式一览

上一篇下一篇

猜你喜欢

热点阅读