我正在尝试将日期选择发送到mysql数据库,当前日期列格式为dd / mm / yyyy,我使用标准的html输入日期,它通过数据发送不正确的格式,并尝试使用下面的js来改变这看起来很尴尬。我的convertStr函数不起作用。
请求
http://localhost:1234/dateAuthor?sday=2018-01-01&eday=2018-01-01
JS
function convertStr(date){
console.log(date)
var date_element = date.split('.');
var reverse_date_element =date_element.reverse();
return reverse_date_element.join('.');
}
app.get('/dateAuthor',function(req,res){
sDate = req.query.sday;
eDate = req.query.eday;
startDate = convertStr(sDate)
endDate = convertStr(eDate)
console.log(startDate, endDate)
阿贾克斯
$("#dateGet").on('submit', function(e){
e.preventDefault();
$.ajax({
type: "GET",
url: "http://localhost:1234/dateAuthor",
crossDomain: true,
dataType: "json",
data: $("#dateGet").serialize(),
});
});
HTML
<form action="get" id="dateGet">
Start Date: <input type="date" name="sday">
End Date: <input type="date" name="eday">
<input type="submit">
</form>
如果您不介意,可以尝试使用moment.js来操纵项目中的日期。
const date = moment(sDate, 'yyyy-mm-dd', true).format('dd/mm/yyyy')
否则,尝试用convertStr
和date.split('-')
更改你的reverse_date_element.join('/')