对节点服务器的异步AJAX调用返回空响应

时间:2013-05-08 11:40:37

标签: javascript node.js jquery express

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

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

后端: localhost:9000

前端: localhost: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(响应),看起来很好。

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

不确定出了什么问题。非常感谢你们多多给我一个答案。

非常感谢。

0 个答案:

没有答案