【问题标题】:Server's json file is not data on local machine服务器的 json 文件不是本地机器上的数据
【发布时间】:2014-01-02 05:24:03
【问题描述】:

我已经用 json 文件完成了剑道 ui 树

如果文件在本地机器上,这可以正常工作

这是我正在使用的代码

<script type="text/javascript" charset=utf-8>
    $(document).ready(function () {
    $.getJSON("/test/test.json", function (data) {
        $("#treeview").kendoTreeView({
            dataSource    : {
                data: data
            },
            dataTextField : "text",
            dataValueField: "id"
        });
    });
   });
</script>

现在我已经把这个文件上传到服务器了,我正在通过直播

URL 在相同的代码中,但它不工作的代码在这里

<script type="text/javascript" charset=utf-8>
    $(document).ready(function () {
    $.getJSON("http://eragonsolutions.com/test/test.json", function (data) {
        $("#treeview").kendoTreeView({
            dataSource    : {
                data: data
            },
            dataTextField : "text",
            dataValueField: "id"
        });
    });
   });
</script>

我需要做什么改变???

提前致谢

【问题讨论】:

    标签: jquery json kendo-ui jsonp


    【解决方案1】:

    你在运行这段代码吗,再试一次..

        var dataSource = new kendo.data.HierarchicalDataSource({
        transport: {
            read: {
                url: "http://eragonsolutions.com/test/test.json",
                dataType: "jsonp"
            }
        } 
    });
    
    $("#treeview").kendoTreeView({
        dataSource: dataSource,
        dataTextField: "text",
        dataValueField: "id"
    });
    

    【讨论】:

    • 很抱歉我找不到其他解决方案 :(
    【解决方案2】:

    您不能使用$.getJSON 从另一个域加载 JSON;如果这是一个跨域请求,您需要为您的$.ajax 请求使用 dataType "jsonp" 并且服务器必须能够正确处理它,即它不能简单地返回 JSON,而是需要用随请求提供的回调函数。示例见this answer

    【讨论】:

      猜你喜欢
      • 2013-02-03
      • 1970-01-01
      • 2010-12-13
      • 1970-01-01
      • 2019-03-20
      • 1970-01-01
      • 1970-01-01
      • 2020-10-24
      • 1970-01-01
      相关资源
      最近更新 更多