我在数据库中有一个表,其中包含一个日期类型的字段。如果我尝试通过 API 插入 postman 的日期,如下所示:
{
"registerDate" : "2014-06-02"
}
它有效,但后来我尝试使用 jquery 从 javascript 中执行此操作,从 YYYY-MM-DD 格式的输入中获取值,甚至为变量提供值“2014-06-02”,它插入一个 NULL数据库中的值。
var user = new Object();
user.registerDate = $('#register_date').val();
createUser(url, type, JSON.stringify(user), function(user){
});
或
var user = new Object();
user.registerDate = "2014-06-02";
createUser(url, type, JSON.stringify(user), function(user){
});
createUser 所在位置:
function createUser(url, type, user, success){
$.ajax({
url:url,
type: 'POST',
crossDomain : true,
contentType : type,
data : user
})
.done(function (data, status, jqxhr) {
success(user);
})
.fail(function (jqXHR, textStatus) {
console.log(textStatus);
});
}
如果在 postman 中可以工作,但在 JavaScript 中却不能,问题出在哪里?
最佳答案
作为建议(注释太大),您可能需要使用 parse method 将日期转换为毫秒。 :
Date.parse('2014-06-02');
将其作为 JSON 发送:
{'registerDate' : '1401685200'}
并使用FROM_UNIXTIME
function在MySQL中解析它。 .
FROM_UNIXTIME(1401685200)
或者更好的是,您可以将日期作为整数
值存储在数据库中,并在需要时将其转换为日期; 因为将其存储为字符串可能会导致编码问题。
关于javascript - 如何通过JSON在MySQL中插入Date类型变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24344487/