我尝试在网上搜索,但无法用答案解决我的问题。
我有两个节点 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) 看起来不错。
当我在萤火虫中看到它时,我的回复是空的。
不知道出了什么问题。非常感谢你给我一个答案。
非常感谢。