我正在使用 jquery 获取日期并通过 ajax 将其发送到 nodejs 服务器。我正在通过 daterangepicker 获取 e.date。
var minFecha = new Date(e.date);
var data = {};
data.min = minFecha;
$.ajax({
type: 'GET',
data: JSON.stringify(data),
contentType: 'application/json',
url: '/dat/',
success: function(data) {
console.log('success '+data);
// console.log(JSON.stringify(data));
}
});
我在 server.js 中有这个
app.get("/dat/", function(req, res){
console.log("data received " + JSON.stringify(req.query));
});
在控制台中我得到这个:数据收到 {"{\"min\":\"2018-01-09T23:00:00.000Z\"}":""}
现在我需要在变量中获取日期“2018-01-09T23:00:00.000Z”。我使用的是 JSON.parse 和 req.query['min']: var obj = JSON.parse(JSON.stringify(req.query)); console.log("测试"+obj['min']); 但是这种方式不行,返回undefined。有什么解决办法吗?
最佳答案
无需使用 stringify,只需将您的数据传递给 ajax 对象中的数据属性即可,它应该可以工作:
客户端
$.ajax({
type: 'GET',
data: data,
contentType: 'application/json',
url: '/dat',
success: function(data) {
console.log('success '+data);
// console.log(JSON.stringify(data));
}
});
服务器
app.get("/dat", function(req, res){
console.log("data received " + req.query.min);
});
关于javascript - 在nodejs中通过ajax获取接收到的JSON的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48159658/