【问题标题】:Send AJAX data to node express发送 AJAX 数据到 node express
【发布时间】:2014-09-29 13:33:56
【问题描述】:

我正在尝试使用 AJAX 将数据发送到 node express,但是因为我在没有 express 模块的情况下处理它(使用 if (req.method="POST"){function on data...})

因为我可以用快递赶上。

用于捕获数据的节点代码:() 现在即使在 console.log 中也没有任何反应)

app.get('/getdata',function(req, res){
  res.send('Something');
});

app.post('/getdata', function (req, res){
  console.log(req.body.objectData);
  res.contentType('json');
  res.send({ some: JSON.stringify({response:'json'}) });
});

app.listen(process.env.PORT || 5073);

带有 AJAX 调用的 HTML 页面:

$(document).ready(function () {
  $('#Send').on('click', function () {
    var toSend = $('#Sth').val();
    alert(toSend);

    $.ajax({
      type: "POST",
      dataType: "json",
      data: { objectData: toSend },
      contentType: "application/json",
      cache: false,
      url: 'http://127.0.0.1:5073/'
    });
  });
});
<body>
  <input id="Sth" type="text" name="Content" />
  <div id="select_div"><a href="#" id="select_link">Test</a></div>  
  <div id="test"> Content to be copied</div>
  <input id="Send" type="submit" />
</body>

好吧,我不知道该怎么办,请帮忙。

【问题讨论】:

  • '/getdata' != 'http://127.0.0.1:5073/'
  • 改成 url: '127.0.0.1:5073/getdata' 还是不行。
  • 您是否有一个 json 正文解析中间件(例如 bodyParser.json())在 app.post('/getdata', ...); 路由之前的某个地方是 use()d?
  • 我在 app.post 之前有这个... var express = require('express'); var app = express(); app.use(express.json()); app.use(express.urlencoded());
  • 首先检查ajax.done或ajax.error,然后写入结果plz

标签: javascript jquery ajax node.js express


【解决方案1】:

愿意试一试吗?

app.post('/endpoint', function(req, res){
    var obj = {};
    console.log('body: ' + JSON.stringify(req.body));
    res.send(req.body);
});

https://gist.github.com/diorahman/1520485

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-19
    • 1970-01-01
    • 1970-01-01
    • 2015-01-14
    • 2012-01-19
    • 1970-01-01
    • 2020-03-01
    • 1970-01-01
    相关资源
    最近更新 更多