Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在创建时将JSON发送到页面的最佳方式_Javascript_Json_Html - Fatal编程技术网

Javascript 在创建时将JSON发送到页面的最佳方式

Javascript 在创建时将JSON发送到页面的最佳方式,javascript,json,html,Javascript,Json,Html,我需要向网页发送一些数据,最好是json格式,我想知道什么方法被认为是最好的,为什么。总的来说,你对他们有什么好的或坏的经历和惊喜 var myJson= 优点:如果将使用json,则json直接在javascript中使用。 不方便:HTML/DOM中的“代码> 是坏的(JS属于 到.js文件)。 我毫不犹豫地推荐#1。您想在javascript中使用数据,对吗#1是确保页面加载时数据作为普通的旧javascript对象存在的最简单和最直接的方法。我一直以这种方式将数据从服务器端传输到浏览器端

我需要向网页发送一些数据,最好是json格式,我想知道什么方法被认为是最好的,为什么。总的来说,你对他们有什么好的或坏的经历和惊喜

  • 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调用得到更干净的东西。我个人永远不会这样做。