localStorage存储代替GET方式
2017-07-10 14:21
113 查看
做久了前端开发就会知道,有时候需要把页面A的数据传到页面B上,用URL参数的形式会显得累赘。而且浏览器和服务器对于URL的长度也有所限制。
浏览器
1、IE
IE浏览器(Microsoft Internet Explorer) 对url长度限制是2083(2K+53),超过这个限制,则自动截断(若是form提交则提交按钮不起作用)。
2、firefox
firefox(火狐浏览器)的url长度限制为 65 536字符,但实际上有效的URL最大长度不少于100,000个字符。
3、chrome
chrome(谷歌)的url长度限制超过8182个字符返回本文开头时列出的错误。
4、Safari
Safari的url长度限制至少为 80 000 字符。
5、Opera
Opera 浏览器的url长度限制为190 000 字符。Opera 9 地址栏中输入190 000字符时依然能正常编辑。
服务器
1、Apache
Apache能接受url长度限制为8 192 字符
2、IIS
Microsoft Internet Information Server(IIS)能接受url长度限制为16 384个字符。
这个是可以通过修改的(IIS7)
configuration/system.webServer/security/requestFiltering/requestLimits@maxQueryStringsetting.
3、Perl HTTP::Daemon
Perl HTTP::Daemon 至少可以接受url长度限制为8000字符。Perl HTTP::Daemon中限制HTTP request headers的总长度不超过16 384字节(不包括post,file uploads等)。但当url超过8000字符时会返回413错误。
这个限制可以被修改,在Daemon.pm查找16×1024并更改成更大的值。
4、ngnix
可以通过修改配置来改变url请求串的url长度限制。
client_header_buffer_size 默认值:client_header_buffer_size 1k
large_client_header_buffers默认值 :large_client_header_buffers 4 4k/8k
由于jsonp跨域请求只能通过get请求,url长度根据浏览器及服务器的不同而有不同限制。
若要支持IE的话,url长度限制为2083字符,若是中文字符的话只有2083/9=231个字符。
若是Chrome浏览器支持的最大中文字符只有8182/9=909个。
既然对URL的长度有诸多的限制,那么为何不选用一种更“爽”的方式呢?
没错,就是LocalStorage
localStorageAPI跟sessionStorageAPI一样,参考API
这里提一下如果你的数据是Object或者Array时,为了能够在页面B能正常拿到所需要的数据,那么先转为字符串,然后在页面B再转回Object或者Array吧!
转为JSON字符串
转为JSON格式数据
用过localStorage会发现不会再想用GET拼接的方式了!实感!
浏览器
1、IE
IE浏览器(Microsoft Internet Explorer) 对url长度限制是2083(2K+53),超过这个限制,则自动截断(若是form提交则提交按钮不起作用)。
2、firefox
firefox(火狐浏览器)的url长度限制为 65 536字符,但实际上有效的URL最大长度不少于100,000个字符。
3、chrome
chrome(谷歌)的url长度限制超过8182个字符返回本文开头时列出的错误。
4、Safari
Safari的url长度限制至少为 80 000 字符。
5、Opera
Opera 浏览器的url长度限制为190 000 字符。Opera 9 地址栏中输入190 000字符时依然能正常编辑。
服务器
1、Apache
Apache能接受url长度限制为8 192 字符
2、IIS
Microsoft Internet Information Server(IIS)能接受url长度限制为16 384个字符。
这个是可以通过修改的(IIS7)
configuration/system.webServer/security/requestFiltering/requestLimits@maxQueryStringsetting.
3、Perl HTTP::Daemon
Perl HTTP::Daemon 至少可以接受url长度限制为8000字符。Perl HTTP::Daemon中限制HTTP request headers的总长度不超过16 384字节(不包括post,file uploads等)。但当url超过8000字符时会返回413错误。
这个限制可以被修改,在Daemon.pm查找16×1024并更改成更大的值。
4、ngnix
可以通过修改配置来改变url请求串的url长度限制。
client_header_buffer_size 默认值:client_header_buffer_size 1k
large_client_header_buffers默认值 :large_client_header_buffers 4 4k/8k
由于jsonp跨域请求只能通过get请求,url长度根据浏览器及服务器的不同而有不同限制。
若要支持IE的话,url长度限制为2083字符,若是中文字符的话只有2083/9=231个字符。
若是Chrome浏览器支持的最大中文字符只有8182/9=909个。
既然对URL的长度有诸多的限制,那么为何不选用一种更“爽”的方式呢?
没错,就是LocalStorage
localStorageAPI跟sessionStorageAPI一样,参考API
这里提一下如果你的数据是Object或者Array时,为了能够在页面B能正常拿到所需要的数据,那么先转为字符串,然后在页面B再转回Object或者Array吧!
转为JSON字符串
localStorage.setItem('paramData', JSON.stringify(paramData));
转为JSON格式数据
JSON.parse(localStorage.getItem('paramData'));
用过localStorage会发现不会再想用GET拼接的方式了!实感!
相关文章推荐
- [html5]localStorage存储方式
- Html5 Web的5中离线存储方式之localStorage
- HTML5 Web存储方式的localStorage和sessionStorage进行数据本地存储案例应用
- cookie、localStorage和sessionStorage 存储、获取、删除等使用方式以及三者之间的区别等内容
- html5中的Web Storage包括了两种存储方式:sessionStorage和localStorage。
- Storage---Html5 Web的5中离线存储方式之localStorage
- 远程服务器存储之JDK的get请求方式
- 使用HTML5 Web存储的localStorage方式进行编写一个Web页面。
- JavaScript中localStorage对象存储方式实例分析
- HTMl5的存储方式sessionStorage和localStorage详解
- Android——远程存储器存储:JDK方式和Volley框架的get和post
- HTMl5的存储方式sessionStorage和localStorage详解
- localStorage的存储数组对象的方式
- 使用HTML5 Web存储的localStorage和sessionStorage方式
- HTMl5的存储方式sessionStorage和localStorage
- 代替window.location get方式post提交
- H5常见的存储方式-localStorage
- JS本地存储信息的实现方式(localStorage 与 userData)
- 远程服务器存储之框架方式的get和post请求方式
- 表单提交中Get和Post方式区别