导入json文件时遇到问题

时间:2020-06-09 09:02:06

标签: tabulator

我正在尝试通过以下JavaScript将公共json文件用作数据源:

const url = "https://data.melbourne.vic.gov.au/resource/ez6b-syvw.json";

var table = new Tabulator("#example-table", {
    ajaxConfig:{
        method: 'GET'
    },
    ajaxURL: url, //ajax URL
    index:"MessageID",
    autoResize:true,
    layout:"fitData", //layout options
    placeholder:"Awaiting Data...",
    columns:[ //Define Table Columns
        {title:"timestamp", field:"timestamp"},
        {title:"temperature", field:"temp_avg"},
        {title:"humidity", field:"humidity_avg"},
        {title:"latitude", field:"latitude"},
        {title:"longtitude", field:"longtitude"},

    ],

    ajaxResponse:function(url, params, response){
        //url - the URL of the request
        //params - the parameters passed with the request
        //response - the JSON object returned in the body of the response.

        return response; //pass the data array into Tabulator
    },

    rowClick:function(e, row){ //trigger an alert message when the row is clicked
    alert("Row " + row.getData().MessageId + " Clicked!!!!");
    },
});

但是我在Chrome中收到以下控制台消息:

访问CORS策略已阻止从原点“ https://data.melbourne.vic.gov.au/resource/ez6b-syvw.json”到“ http://192.168.0.6”的获取:Access-Control-Allow-不允许请求标头字段access-control-allow-origin-标头在起飞前响应。 data.melbourne.vic.gov.au/resource/ez6b-syvw.json:1无法加载资源:net :: ERR_FAILED tabulator.min.js:5 Ajax加载错误-连接错误:TypeError:无法获取 (匿名)@ tabulator.min.js:5 tabulator.min.js:5 Ajax加载错误:TypeError:无法获取

我不知道我在做什么错了吗?

请帮助。

谢谢。

2 个答案:

答案 0 :(得分:0)

从资源中获取数据似乎存在问题。制表符似乎总是发送Access-Control-Allow-Origin,但是您的资源不允许这样做。因此,一种解决方法是使用您自己的fetch请求而不是Tabulator ajax选项。然后,您可以在表实例上使用setData

这里是一个例子。 https://jsfiddle.net/nrayburn/8wd3zo9q/33/

我不确定这是否是错误,或者我只是没有找到解决方法。

答案 1 :(得分:0)

将此添加到您的 ajaxConfig 中,您就可以开始了。

ajax配置:{ 模式: "no-cors",
方法:'获取' }