使用jQuery AJAX与node.js,处理来自服务器的响应

这是我第一次在这里发表一个问题,我大多只是一个潜伏在其他问题上的潜伏者,但是这是我一直想弄明白的事情,而且我的生活不能。

基本上我正在做的是使用AJAX从客户端跳转到服务器,运行一些代码,search外部API给我一些数据,然后我需要这些数据返回到客户端。 这是我的代码…这是所有使用express.js的快递

客户端

$('#search').click(function(){ $.ajax({ type: "GET", url: "/search", dataType: "json" }).done (function (data) { alert(data); }); }); 

服务器端

 app.get('/search', function(req, res){ factual.get('/t/places',{q:'starbucks'}, function (error, data) { console.log(data); res.send(data); }); }); 

现在我知道,单击#searchbutton时,它会转到服务器并成功运行该代码。 但是我不知道如何从服务器上获取这些数据,然后返回到客户端来在那里工作。

我发现其他职位提到像res.send / res.write / res.end,我已经尝试了所有这些forms的知识,我似乎永远不会将这些数据返回给客户端。

任何提示或可能更好的方法来做到这一点将非常感激。

尝试下面的代码服务器端:

 app.get('/search', function(req, res){ factual.get('/t/places',{q:'starbucks'}, function (error, data) { console.log(data); res.writeHead(200, { 'Content-Type': 'application/json' }); res.end(JSON.stringify(data)); }); }); 

它应该工作。 代码客户端看起来不错。

编辑:你也可以使用:

 res.json(data);