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 応答以外の場所を探すために何千時間もの時間を費やしていると確信しています。これは少なくとも 2 回は私の問題でした。おそらくあなたのものでもあります。

あなたがする必要があるのは、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)それ以外の場合は、成功関数のデータが必要になります。

5 分ごとに呼び出すには、次のように簡単です。

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