论坛首页 Web前端技术论坛

表单提交前内容的js处理

浏览 4411 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (1)
作者 正文
   发表时间:2010-07-05   最后修改:2011-05-12
  • 说明:

    经常使用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并能在我项目里被兼容.

   发表时间:2010-07-05  
LZ为了说明什么??

0 请登录后投票
   发表时间:2010-07-09  
无语...
多此一举...
JavaScript水平不行吧?
有个基本的转换函数难道你不知道?
0 请登录后投票
   发表时间:2010-07-10  
encodeURIComponent()  ????
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics