1

次のコードを使用して、クライアント マシンから応答を取得し、その応答を適切に取得しています。しかし、その応答を Jquery に送信する必要があります。

var getOsLists = function(context){
 var options = {
            host: '172.16.2.51',
            port: 9090,
            path: '/vm/osList',
            method: 'POST'
        };
 var req = http.request(options, function (res) {
            res.on('data', function (data) {               
                    console.log(data);  

                                                   // return sendJson(data, 404);

            });
        });
        req.on('error', function (e) {
            console.error(e);
        });
        req.end();
}
exports.getOsLists = getOsLists; 

以下のセクションで上記のデータを取得したい

function getOsList() {
    $.getJSON('/getOpSystem', function (data) {
            alert(data.toString()); // it does nt print anything
        var html = '';
        data.forEach(function (n) {
            alert(n);
            html += '<option value="' + n.ID + '">' + n.ID + '</option>';
        });
        $('#os').html(html);
    });
}

そしてnode.jsで

case '/getOpSystem':
          objSchedule.getOsLists();
          break;
4

4 に答える 4

1

これは有効な JSON ではありません (ここで確認できます)。 {}はオブジェクトを意味し、コンマまたはセミカラムでオブジェクトを区切る必要があります半列は、それを異なる変数に割り当てることを意味します。コマは配列であることを意味します

だから、それは次のようなものでなければなりません

[{"ID": "VM-WIN7-64","OS": "Windows 7"},
 {"ID": "VM-WIN7-32","OS": "Windows 7"},
 {"ID": "V M-WIN7-32-1","OS": "Windows 7"},
 {"ID": "VM-WIN7-32-2","OS": "Windows 8"}
]

data.forEach を使用しているため、配列として作成しました

于 2013-11-12T08:14:46.053 に答える
0

Jquery Ajax post 呼び出しを使用して、データをサーバーに送信できます。コードを確認する

    $.ajax({
    type: "POST",
    url: "some.php",
    data: { name: "John", location: "Boston" }
   })
   .done(function( msg ) {
   alert( "Data Saved: " + msg );
   });
于 2013-11-12T10:23:43.597 に答える
0

応答を JSON として送信するだけです。express.js では次のように簡単です。

res.json(object);
于 2013-11-12T08:08:14.120 に答える