无法在node.js中发送Javascript对象的数组
我有以下代码
app.get('/posts',function(req,res){ console.log(posts); res.send(posts); res.send(200); });
而我正在使用以下来获取和返回js对象的数组(职位是数组)
App.PostsRoute = Ember.Route.extend({ model: function(){ return $.ajax({ url : '/posts', type : 'GET', success : function(data){ return data; } }); } });
所以当我用[ { body: "Hello" }, {body : "world" } ]
填充posts
数组,我在控制台中得到以下输出:
而在我的应用程序,该模型不呈现,而且我不能看到铬开发工具的任何反应,这些是一些ss
响应为空,甚至不是{}
。 出了什么问题? 我不认为Ember
有任何东西,毕竟我看不到回应!
我认为这个问题是因为你调用了res.send
两次。 只要评论这一行:
res.send(200);
Express不需要这一行,因为Express自动将状态码设置为200
(或者在某些场合304
)。
如果你想设置自己的状态码,只需写:
res.status(someCode);
你可以在这里阅读。
一些问题:
-
你需要JSON.stringify你的对象之前,你发送它。
-
尝试使用这个而不是res.send:
res.writeHead(200, {'Content-Type': 'application/json'}); res.end(JSON.stringify(posts));
-
你在哪里试图返回“数据”? 你应该有一些callback函数,像这样:
success:function(data) { handleData(data); }
- Array.prototype.each = function(callback){for(var i = 0; i <this.length; i ++)callback(this ); } – 这个可以吗?
- 在Node.js中从JSON数组中读取一个值
- 对象的大数组JSON.parse()使用更多的内存比它应该的方式
- Dynamoose / DynamoDB更新将空数组保存为空
- 从节点中的parsing的csv文件构build对象数组
- 字段必须是BSONtypes的对象
- 从对象属性recursion地生成文件path
- 平整嵌套的callback
- 如何将点击function添加到在javascript中dynamic添加的button数组?