node.js - 使用带有 node.js 的 jquery AJAX,处理来自服务器的响应

标签 node.js jquery express

这是我第一次在这里发布问题,我基本上只是潜伏在其他问题上,但这是我一直试图弄清楚的事情,我这辈子都做不到。

基本上,我正在做的是从客户端使用 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 之类的内容,据我所知,我已经尝试了各种形式,但我似乎永远无法将这些数据返回给客户端。

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

最佳答案

尝试以下代码服务器端:

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);

关于node.js - 使用带有 node.js 的 jquery AJAX,处理来自服务器的响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15997243/

相关文章:

javascript - 错误 : Cannot find module '/opt/repo/ROOT/server. js

json - 使用 sequelize 在模型/实例中存储和检索 JSON 对象

javascript - 获取 "change"以在 IE9 中工作

node.js - 在 EJS 中将变量呈现为 HTML

javascript - 当我们已经有了 Express 服务器时,为什么要为 Socket.io 创建新的 http 实例?

javascript - 如何让 Discord Bot 检测表情符号 react 并单击(触发)它

javascript - 文档和子文档的 $sum 按 "$author"(MongoDB)

javascript - 使用 ajaxSubmit/jQuery 提交多个表单时出现问题

javascript - 如何根据下拉值更新div文本?

javascript - Jade 将字符串数组渲染为字符串数组