0

Slackwareでnagiosを実行してmklivestatusおり、ホストのjson出力を取得するために使用しています。ファイルはこのようにフォーマットされています

   [["localhost","127.0.0.1",0]]

$.getJSON()を使用して値を取得し、html ページに追加するにはどうすればよいですか? または、json ファイルを次の形式に変更する方法はありますか。

{["host_name":localhost","host_ip":"127.0.0.1","status":0]}

上記の形式で、私はこのコードを使用しており、正常に動作します

<script>
    $.getJSON('status.json', function(data) {
        var output = '';

        $.each(data, function(index, value){

            output += '<option value="'+value.host_name+'">'+value.host_name+' ('+value.status+')</option>';

        });

        $('#page').html(output);

    });
</script>
4

1 に答える 1

1

いくつかの問題があります:

  1. 最も重要な[["localhost","127.0.0.1",0]]のは、配列の配列であるため、1 つのように扱います。value.host_nameindex を使用してその members にアクセスする代わりにvalue[0]
  2. 適切なイベント jQM ハンドラを使用します (例: pageinit)
  3. そして、ページではなく要素に<option>s を挿入したかったと思います。select

さて、次のマークアップがあるとします

<div data-role="page" id="page">
    <div data-role="content">    
        <select id="select1">
        </select>
    </div>
</div>

このように選択メニューに入力します

$(document).on("pageinit", "#page", function(){
    $.getJSON("status.json", function(data){
        var output = '';
        $.each(data, function(index, value){
            output += '<option value="'+value[0]+'">'+value[1]+' ('+value[2]+')</option>';
        });
        $('#select1').html(output);
    });
});

PSところで、これは無効な JSON です

{["host_name":localhost","host_ip":"127.0.0.1","status":0]}

そのはず

[{"host_name":localhost","host_ip":"127.0.0.1","status":0}]
于 2013-02-25T22:48:37.137 に答える