0

我尝试在网上搜索,但无法用答案解决我的问题。

我有两个节点 js 服务器在我的本地主机上运行。

后端:本地主机:9000

前端:本地主机:3000

我的前端服务器中有一个 jquery Ajax 调用,如下所示:

$(document).ready(function() {
  $.ajax({
  url: "http://localhost:9000/merchant",
  type: "post",
  data: {content: "{"+
          '"0": {"name":"kfc", "desc":"great chicken", "web":"www.kfc.com"},'+
          '"1": {"name":"pizzaexpress", "desc":"your favourite pizza express", "web":"www.pizzaexpress.com"},'+
          '"2": {"name":"indianmasala", "desc":"great indian food", "web":"www.masala.com"},'+
          '"3": {"name":"starbucks", "desc":"all coffeee", "web":"www.starks.com"}'+
      "}"}
}).done(function(data) {
  alert(data);
});
});

是的,我在内容参数中发布了一个 JSON。哪个存储在我的 mongoDB 中,应该返回插入的 id。

我的后端 app.post 函数如下所示:

var content = JSON.stringify(req.body.content);
    content = JSON.parse(req.body.content);
    var ids = new Array();
    for (var key in content) {
        if (content.hasOwnProperty(key)) {

            var merchant = new Merchant();
            merchant.name = content[key].name;
            merchant.desc = content[key].desc;
            merchant.web = content[key].web;
            merchant.save();
            ids[key] = merchant._id;

        }
    }    
    var response = {"status":"Request processed successfully", "id": ids};
console.log(JSON.stringify(response));
    res.contentType('json');
    res.send(JSON.stringify(response));

当我在浏览器上加载前端 localhost:3000 时,AJAX 调用 localhost:9000/merchant 然后将商家信息存储在 mongodb 中,但两者都没有

res.send();

也不

res.write();

发送响应。我检查了 console.log 的 JSON.stringify(response) 看起来不错。

当我在萤火虫中看到它时,我的回复是空的。

不知道出了什么问题。非常感谢你给我一个答案。

非常感谢。

4

0 回答 0