如何通过ajax调用平面文件

how do you call a flat file via ajax?

本文关键字:平面文件 调用 ajax 何通过      更新时间:2023-09-26

我需要对一个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();  
        });

您要查找的点是"datatype"。将其更改为"文本",它应该可以顺利运行

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

如果JSON无效,jQuery会无声地取消JSON-ajax调用,这是一种可怕的行为,我相信这个问题已经浪费了数千小时的时间,除了JSON响应之外,其他地方都会被浪费,这是我的问题至少两次,很可能也是你的问题。

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

如果您的文件是JSON编码的(例如,它是使用PHP文件中的echo(json_encode($array))返回给客户端的:

$.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);