我正在向我的節點/快遞服務器發送JSON結構並將該對象保存到數據庫中。問題是我發送帶有整數和布爾值的JSON,但所有內容都保存爲字符串。這個JSON結構何時轉換爲所有字符串?
這裏是我的節點/快遞代碼:
var express = require('express');
var app = express();
app.enable("jsonp callback");
app.use(express.bodyParser());
// allow cross origin scripting to get data from devices directly
app.all('*', function(req, res, next) {
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Methods', 'PUT, GET, POST, DELETE, OPTIONS');
res.header('Access-Control-Allow-Headers', 'Content-Type');
next();
});
app.post('/departures', function(req, res) {
/* I started using this to convert back to integers - but need to solve the problem
for (var i in req.body.data) {
req.body.data[i].siteid = parseInt(req.body.data[i].siteid);
}
*/
console.log('saving data '+JSON.stringify(req.body.data));
positionProvider.save(req.body.data, function(){
res.json({status:'success'});
})
});
這裏是我如何使用jQuery執行POST:
var data = [{"siteid":123}];
$.ajax({
type: 'POST',
url: serverUrl + '/departures',
data: {
data: data
},
success: function(resp) {
alert('saved departure data '+JSON.stringify(data))
},
error: function(err) {
console.log('error posting to server...');
console.log(err);
}
});
jQuery的側報告說,它發送{ 「SITEID」:123},但節點端報告它收到{「siteid」:「123」}。
整數轉換爲字符串在哪裏?
您正在使用什麼數據庫?你的模型對象是什麼樣的? – 2013-03-18 01:59:10
我正在使用mongodb,所以它愉快地存儲我所交的任何東西。 – 2013-03-18 02:01:21
這就是我正常使用的情況。你使用貓鼬模型來設置數據結構嗎? – 2013-03-18 02:02:12