今天写代码的时候,我使用的出是CI框架,前台用了一个百度的插件来得到数据,要实现的结果如下:下面的内容使用一个已经写好的接口取数据,直接往里面填,但是页面总PV和页面总UV要随着搜索发生相应的变化,在考虑之后决定重新写一个点击事件来重新调用接口把总PV和总UV的值取出来,拼出一个新的html,使用('#static_item').html(html);局部刷新总PV和总UV —— 完成同步更新的效果。
这个事件是没有问题的,但是执行的效果是在火狐,360和谷歌下面都可以实现同步刷新的效果,但是在IE9下无法实现,在使用图3这样的start Capture功能来捕捉发送的html请求才发现,两次请求中有一个不同——url中的(如图4和图5中pageName的值不同),这个地方就是IE和其他浏览器不同的地方,IE的容错性比较差,我们传过去的中文是不会自动转换为英文字符的,但是奇怪的地方在于第一个url里面的字符是已经转义过的,第二个的里面含有中文,就是因为中文的问题,所以说没有取出数据。
图 1
图 2
图 3
图 4
图 5
5月补充说明:后来发现可以在传数据的时候用encodeURIComponent函数对值进行url重编码后传输,然后就真的解决了这个问题。