10

这是我第一次在这里发布问题,我大多只是潜伏在其他问题上,但这是我一直试图弄清楚的事情,而且我一生都做不到。

基本上,我正在做的是从客户端使用 AJAX 跳转到服务器,运行一些代码来搜索外部 API,从而为我提供一些数据,然后我需要将这些数据返回给客户端。这是我的代码......这都是使用 node.js 和 express

客户端

$('#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);
        });
  });

现在我知道,当单击#search 按钮时,它会转到服务器并成功运行该代码。但我不知道如何将这些数据从服务器中取出并返回到客户端以在那里使用它。

我发现了其他提到诸如 res.send/res.write/res.end 之类的帖子,据我所知,我已经尝试了所有这些形式,但我似乎永远无法将这些数据返回给客户端。

非常感谢任何提示或可能更好的方法。

4

1 回答 1

5

尝试以下代码服务器端:

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);
于 2013-05-12T16:25:55.320 回答