Javascript 在创建时将JSON发送到页面的最佳方式
我需要向网页发送一些数据,最好是json格式,我想知道什么方法被认为是最好的,为什么。总的来说,你对他们有什么好的或坏的经历和惊喜Javascript 在创建时将JSON发送到页面的最佳方式,javascript,json,html,Javascript,Json,Html,我需要向网页发送一些数据,最好是json格式,我想知道什么方法被认为是最好的,为什么。总的来说,你对他们有什么好的或坏的经历和惊喜 var myJson= 优点:如果将使用json,则json直接在javascript中使用。 不方便:HTML/DOM中的“代码> 是坏的(JS属于 到.js文件)。 我毫不犹豫地推荐#1。您想在javascript中使用数据,对吗#1是确保页面加载时数据作为普通的旧javascript对象存在的最简单和最直接的方法。我一直以这种方式将数据从服务器端传输到浏览器端
var myJson=代码>
优点:如果将使用json,则json直接在javascript中使用。
不方便:HTML/DOM中的“代码> <代码>是坏的(JS属于
到.js文件)。
我毫不犹豫地推荐#1。您想在javascript中使用数据,对吗#1是确保页面加载时数据作为普通的旧javascript对象存在的最简单和最直接的方法。我一直以这种方式将数据从服务器端传输到浏览器端,效果非常好
通过在ajax调用中加载数据,可以在数据和UI之间创建更好的分离,但这是一个额外的http请求,它会降低页面加载速度 有人问起这个问题已经有几年了,但是对于其他人来说,如果他们发现自己在这里并且好奇的话,我已经做了相当长一段时间的选项1的变体。此外,Nike Plus也能做到这一点。加载页面时,Nike设置window.np={}
我从未真正找到我喜欢的习俗,但我尝试过:
window.data
window.app.data
(受Symfony启发,字面上使用属性app
)
窗口。[app_name]。数据
(灵感来自Nike Plus)
window.initData
(受Google+启发)
在我的例子中,当主主干应用程序加载时,我用主干模型/集合覆盖这些JS对象。第一个对象的变体(即函数调用而不是变量分配)非常常用(例如:facebook),属于.JS文件而不是JSON的是JS。顺便说一句,你不需要JSON.parse
。#1看起来有点难看,但我看不出有什么理由不起作用,当然前提是JSON对象在页面的生命周期内不会改变。Google在Google Plus服务中使用了类似于你在var OZ_initData
中提出的第一个建议(如果您查看页面的源代码,您可以看到这一点),但数据并不完全是JSON,但在某种程度上是相似的。我确实对方法比对内容更感兴趣。@Esailija是的,不需要像这样的JSON.parse(不像经典的ajax响应)编辑我的问题。thanx。你为什么要重写整个网站?+1,但解释一下#1在任何方面与UI的关系。如果你用ajax调用替换#1,代码会变得复杂得多。如果我们假设#1与JSONP风格的回调一起使用,而不是变量赋值,那么就不会与之交互,这是自动的Re:与UI相关——如果你不能忍受html页面中的javascript,你可以通过ajax调用得到更干净的东西。我个人永远不会这样做。