我正在使用以下代码从客户端计算机获取一些响应并正确获取该响应。但我必须将该响应发送给 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;
最佳答案
我建议使用 express框架。它提供了一个 res.json()
方法,让您可以传递一个 Javascript 对象。该框架会将对象字符串化为 JSON,jQuery 可以读取它。
var express = require('express');
var app = express();
app.get('/getOpSystem', function(req, res) {
var system = [];
//make a request, put response in `system`
res.json(system);
});
app.listen(3000);
或者,您可以在 $.ajax
请求中将 dataType
选项设置为“text”并在浏览器端解析:
$.ajax(url, {
method: 'POST',
dataType: 'text'
}).done(function(data) {
//do something
var array = data.split(',');
});
关于javascript - 将 json 响应发送到 Jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19923846/