原创

JQuery中a标签的一个好玩的东西

a标签进行POST请求

在很多时候,我们都习惯了用a标签去触发某一些事件,如分页,进入商品详情等等。对于在a标签的href中传输中文,其实是一件很麻烦的事。一个程序如果说很多数据都需要进行转码,那有多少意义去做呢?冗余代码会不会很多呢?虽然仅仅只是那么一小行代码,但是对于代码的严谨性是否真正意义上有提高呢?


 对于a标签来说,它就如同一个鸡蛋,原本是完好的,数据可以通过GET方式去传递的。但是一旦数据中出现了某种意义上它不认识的字符,那么这个鸡蛋就如同过期了一般成为了臭鸡蛋。但是很多时候我们不能去修改他的不是,因为一旦改这一个a标签就有几十几百甚至上千上万个a标签都得变。


 是不是很麻烦呢?其实只需要做一个公共的js就可以解决这种繁琐的问题了。众所周知的POST方式是很有效解决部分中文乱码的提交方式。那么我们就可以将这一个方式植入到a标签的href上,让这个a标签进行提交的时候是通过的POST请求。


 公共代码如下:

    function aPost(formName){     
    $(formName+" a").click(function (){
        var url = $(this).attr("href");
        var goHref = url.split("?")[0];
        var attrMessage = url.split("?")[1].split("&");
        var formObj = $("<form></form>");
        formObj.attr("action", goHref);
        formObj.attr("method","POST");
        for(var i=0;i<attrMessage.length;i++){
            var my_input = $('<input type="text" />');
            my_input.attr("name",attrMessage[i].split("=")[0]);
            my_input.attr("value",attrMessage[i].split("=")[1]);
            formObj.append(my_input);
        }
    formObj.submit();
        return false;
    });
    }



formName只是为了确定a标签是在哪一个标签下方进行公用。
 这一段代码只是进行了简单的字符切割,将对应的数据创建保存到表单中即可。
思维很清晰,代码很凌乱。 

~阅读全文-人机检测~

微信公众号“Java精选”(w_z90110),专注Java技术干货分享!让你从此路人变大神!回复关键词领取资料:如Mysql、Hadoop、Dubbo、Spring Boot等,免费领取视频教程、资料文档和项目源码。微信搜索小程序“Java精选面试题”,内涵3000+道Java面试题!

涵盖:互联网那些事、算法与数据结构、SpringMVC、Spring boot、Spring Cloud、ElasticSearch、Linux、Mysql、Oracle等

评论

分享:

支付宝

微信