因为前一阵子做的项目中,在ajax传输到后台数据时发现有一部分数据没了.
后来进行了一系列分析,发现传输的数据中有&这个字符.
前台提交到后台的时候无论使用GET还是POST提交都是用&将不同的键值对进行连接.而在提交的数据中如果有了这个字符,后台解析的时候就会出问题.也就是我上边说的只剩下了一部分数据.
故而解决方法如下:
JS端进行数据的URL转码
encodeURIComponent(data) //js端进行数据的URL编码
decodeURIComponent(data) //js端进行数据的URL解码
PHP端进行数据的URL转码
urlencode($data) //php端进行数据的URL编码
urldecode($data) //php端进行数据的URL解码
经过以上转码,大家再也不会碰到后台接收到数据只剩下一半的情况了