【问题标题】:load json file in an object variable在对象变量中加载 json 文件
【发布时间】:2013-11-18 18:44:14
【问题描述】:

我有一个 jquery 函数,看起来像

<script type="text/javascript">
var doubleEliminationData = {}
$(function () {
    $('div#doubleElimination').bracket({
        init: doubleEliminationData
    })
})  
</script>

变量 doubleEliminationData 的内容在 JSON 文件中。当我将 JSON 文件中的代码复制/粘贴到变量中时,它工作得很好。但我需要从 JSON 文件中加载它,因为在其他网站上我可以更改此文件中的内容。我尝试了 $.get、$.getjson 和 $.ajax 来获取文件的内容,但它不起作用。我希望你能帮助解决这个问题。 如何将 JSON 文件的内容加载到 var doubleEliminationData 中?

【问题讨论】:

  • 给你的小提琴怎么样?
  • 您会遇到问题,因为您听起来像是在执行默认情况下不允许的跨域请求。有很多方法可以像这里stackoverflow.com/questions/5549068/…
  • 你能解释一下“不工作是什么意思吗?”。顺便说一句,您是否可以控制托管 JSON 文件的服务器?
  • 不起作用 = 页面加载但函数未执行。如果我在变量中手动写入 json 文件内容,则函数被执行
  • 我可以控制服务器

标签: jquery json


【解决方案1】:

您可以尝试使用 Ajax 来做到这一点:

$.ajax({
    dataType: "json",
    url: urlPathToYourFile,
    data: data,
    success: successFn
});

或者你可以使用简写Ajax函数jQuery.getJson()

$.getJSON("yourJsonFile.json", function(data) {
    console.log(data);//output your data to console
});

【讨论】:

  • 嗨。 $.getJSON 工作得很好。我还必须从主域而不是子域请求 json 文件。是否可以在函数中执行此请求?当我尝试将其放入函数时,请求不会发送。有什么想法吗?
猜你喜欢
  • 2011-05-25
  • 1970-01-01
  • 1970-01-01
  • 2012-06-15
  • 2016-11-21
  • 2013-01-07
  • 2018-11-01
  • 1970-01-01
相关资源
最近更新 更多