在bsrck项目中,使用jQuery.Form.js的ajaxSubmit时,遇到有文件上传的form提交,在firefox和chrome浏览器中测试,报Bad Request的错误,经查代码后发现是需要对form添加ENCTYPE="multipart/form-data"属性,在IE浏览器下正常,按正常使用规则是需要添加此属性。具体原因需要抓取字节流,确认技术细节;
在寻找技术方案的时候,发现了此JSON.stringif方法,查些资料在此以做记录;
作用: 将JavaScript 值转换为 JavaScript 对象表示法 (Json) 字符串。
使用格式:JSON.stringify(value [, replacer] [, space])
参数:
value
要转换的 JavaScript 值(通常为对象或数组)。
replacer
转换结果的函数或数组。
replacer 数组。
space
向返回值 JSON 文本添加缩进、空白和换行符以使其更易于读取。
space,则将生成返回值文本,而没有任何额外空白。
space 大于 10,则文本缩进 10 个空格。
space 是非空字符串(例如“\t”),则返回值文本在每个级别中缩进字符串中的字符数。
space 是长度大于 10 个字符的字符串,则使用前 10 个字符。
返回值:
一个包含 JSON 文本的字符串。
备注:
这使对象能够确定其自己的 JSON 表示形式。
在数组中,会将这些值替换为 null。
以下字符的前面必须是反斜杠:
-
-
反斜杠 (\)
-
Backspace (b)
-
换页 (f)
-
换行符 (n)
-
回车 (r)
-
水平制表符 (t)
-
四个十六进制数字 (uhhhh)
执行顺序
space 参数向该值添加空白以生成最终的 JSON 文本。
原文:http://msdn.microsoft.com/zh-cn/library/ie/cc836459(v=vs.94).aspx
另附参考资料:
http://www.cnblogs.com/damonlan/archive/2012/03/13/2394787.html