我需要将一些数据发送到网页,理想情况下是json格式,我想知道哪种方法最好,以及为什么.总的来说,你有什么好的或坏的经历和惊喜.
<script>var myJson = <? echo json_encode($myVar);
?>;</script>
优点:json直接在javascript中,是否会被使用.
不方便:<script>在html/dom中间是坏的(js属于.js文件).
<div data-myJson='<? echo json_encode($myVar); ?>'>
优点:html5数据易于使用.
不方便:dom中的一堆数据,它看起来并不优雅注意:在我的
情况下,我可以忽略"旧"浏览器.
ajax一切.
优点:在这种情况下甚至不需要发送json,因为它已经可用(没有页面更改).
不方便:不是真正的选择,因为我需要重写完整的网站.
而不是发送完整的json,将其存储在会话中并发送密钥.
优点:更少的数据移动
不方便:数据/会话对需要跟踪,我喜欢我的会话保持干净整洁.(即使用户在流程完成之前关闭页面)(也不会关闭会话).
饼干.
优势:herr ..逆转邪恶是一件好事吗?
不方便:像会话变量,但出笼.
将json存储在会话中,并在加载页面时对其进行ajax.
优点:概念上有点优雅.
不方便:很重,因为必须将ajax指令添加到js文件中,并且必须管理会话.(并清理.如果页面加载没有完成,json将一直保持到我清理它或会话结束).另外,html标头意味着更多的带宽,我们必须等待成功使用该对象.
编辑:因为似乎有点混乱,选项3"ajax一切"我意味着一个页面加载,所有内容由ajax加载,即使你通过菜单,链接到其他页面,表单提交,等等.我考虑一个更传统的导航,(服务器作为新页面发送的页面),一个页面执行ajax请求以检索服务器上的某些值(这里是我的json对象),作为第4点"会话",作为在发送页面之后,主数据必须保留在服务器上以便稍后由ajax请求获取.我确实为此添加了选项6.