0

我需要对 txt 文件执行 ajax 调用并每 5 分钟读取一次。我有下面的代码来执行一个 php 脚本:

function webserver_cpu_Data() {
            $.ajax({
                url: 'shell.php', 
                datatype: 'json',
                success: function(data) {
                    seriesOptions=data;
                    createChart();
            setTimeout(webserver_cpu_Data, 600000); 
                },
                cache: false    
                });
        }

有没有办法读取像 txt.file 这样的文件和 ajax 调用?

我已经创建了这个函数来调用一个 php 脚本来显示值。

function myAjax() {
       var seriesOptions = [],
        yAxisOptions = [],
        colors = Highcharts.getOptions().colors;
    $.ajax({ url: 'echo_file.php', success: function(data) {
    seriesOptions=data;
    createChart();
    }
    });
    }

我这样做是为了每 5 分钟运行一次上述函数:

setInterval(function() { myAjax(); }, 5 * 60 * 1000);   

我没有得到任何价值。然而,这有效。这个想法是将以下内容放入ajax调用中。

var seriesOptions = [],
        yAxisOptions = [],

        colors = Highcharts.getOptions().colors;
        $.getJSON('test.txt',   function(data) {

            seriesOptions= data;
            createChart();  
        });
4

2 回答 2

2

您正在寻找的重点是“数据类型”。将其更改为“文本”,它应该可以顺利运行。

编辑:您请求了一个 txt 文件,所以我给了您一个,但是 JSON 是一个完全不同的故事。

jQuery 有这种可怕的行为,如果 JSON 无效,它会默默地取消 JSON ajax 调用,我敢肯定,除了 JSON 响应之外,这个问题已经浪费了数千小时的时间去寻找任何地方,这至少是我的问题两次,并且是很可能也是你的。

您需要做的是验证您从 php 获得的 JSON,如果您可以获得纯数据,您可以将其粘贴到jslint中。

于 2013-07-03T17:10:41.617 回答
1

如果您的文件是 JSON 编码的,则以下内容将起作用(例如,它echo(json_encode($array))在 PHP 文件中使用返回给客户端:

$.ajax({ url: 'php_file_returning_json.php', success: function(res) {
    console.log(res);
});

这仅在内容类型设置为 JSON 时才有效。PHP 文件将在文件顶部需要此标头:

header("content-type: application/json");

否则,您将需要JSON.parse(res)成功函数中的数据。

每五分钟调用一次,这很简单:

setInterval(function() { myAjaxFunction(); }, 5 * 60 * 1000);
于 2013-07-03T17:22:52.313 回答