表单提交前内容的js处理

  • 说明:

    经常使用ajax提交表单,无论是get还是post方法,其内容都有部分特殊字符需要转义或处理

  • 原理:

    如果是get方法,则是要对内容进行转码和转义,如果是post方法,则只要对其内容进行特殊内容转义,可写一公共方法通用处理后提交。特殊字符转义包括 | + %2B | 空格 %20 | / %2F | ? %3F | % %25 | # %23 | & %26 | = %3D |

  • 实现:

    js:

    function encodeContent(data){
    	return encodeURI(data).replace(/&/g,'%26').replace(/\+/g,'%2B').replace(/\s/g,'%20').replace(/#/g,'%23');
    }
     
    除空格,加号,#号外,别的字符已经在加密时转义过了

看到了大家的回复,看来这个贴子写的是很不得人心,要不就不知我所云,要不就认为我这是一个找鄙视的文章.

解释一下:我所写的文章都是我在开发中所遇到的问题,无论可能性在别的地方如何,但它就在我的项目里出现了.有的问题看起来是有点普通和浅薄,但那都是我一步一步走出来的脚印.


再来说说这个贴子所想表达的意思, 1. js 是已经提供了encodeURI 和 encodeURIComponent 方法, 2.这两个方法都不适合在我项目中使用,我所使用的框架是ofbiz,他的页面渲染方式是把所调动的页面内容包括js的内容都时行了html转义, 在项目页面的编码中,encodeURIComponent方法会将别的一些符号给转义了,比如分号,左斜杠等,但我项目里不能让他们转义,(为什么?短话里说不清,这是项目和框架的问题,就是在我的项目里出现了),所以我要有我自己的转义方法,思路就是,先不对符号进行转义,再对部分特殊符号转义,就这么简单,我个人认为这种做法已经可以代替encodeURIComponent并能在我项目里被兼容.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值