javascript - 如何使用 JavaScript 将日期时间从 MySQL 显示到 Web 应用程序?
问题描述
我很难将 MySQL 数据库中的信息显示到我的 Web 应用程序。
我需要的是在我的 Web 应用程序中显示该日期,如下所示:.
如您所见,名称地点和发件人字段显示正确,但日期未定义,我用完了“谷歌搜索”,就像没有人问过这个问题一样!我想提一下,当使用 swagger 或 postman 时,项目是按应有的方式创建的。但是当我从我的网络应用程序创建它时,请求看起来像:
它始终为空!为什么?
我的 JS 代码应该是什么样子,或者我应该怎么做才能让它在这里工作是我的 js 代码:
window.TrackYourThings = {
API_BASE_URL: "http://localhost:8088/items",
createItem: function () {
var name = $("#name-field").val();
var place = $("#place-field").val();
var fromWho = $("#from-field").val();
var date = $("#date").val();
var item = {
name: name,
place: place,
fromWho: fromWho,
date: date
};
$.ajax({
url: TrackYourThings.API_BASE_URL,
method: "POST",
contentType: "application/json",
data: JSON.stringify(item)
}).done(function (response) {
TrackYourThings.getItems()
})
},
getItems: function () {
$.ajax({
url: TrackYourThings.API_BASE_URL,
method: "GET",
}).done(function (response) {
TrackYourThings.displayItems(response.content);
})
},
displayItems: function (items) {
var allItemsHtml = "";
items.forEach(item => allItemsHtml += TrackYourThings.getItemHtml(item));
$("#table tbody").html(allItemsHtml);
},
getItemHtml: function (item) {
return `<tr>
<td>${item.name}</td>
<td><label for="type-field"></label>
<select name="types" id="type-field">
<option value="Personal">Personal</option>
<option value="Work">Work</option>
<option value="Home">Home</option>
<option value="Important">Important</option>
</select></td>
<td>${item.place}</td>
<td>${item.fromWho}</td>
<td>${item.date}</td>
<td><a href="#" class="delete-item fa fa-trash" data-id="${item.id}"></a>
<a href="#" class="edit-item fa fa-pencil"></a>
</td>
</tr>`
},
deleteItem: function (itemId) {
$.ajax({
url: TrackYourThings.API_BASE_URL + "?id=" + itemId,
method: "DELETE",
}).done(function (response) {
TrackYourThings.getItems();
})
},
bindEvents: function () {
$("#table-form").submit(function (event) {
event.preventDefault();
TrackYourThings.createItem()
});
$("#table").delegate(".delete-item", "click", function (event) {
event.preventDefault();
var itemId = $(this).data("id");
TrackYourThings.deleteItem(itemId);
});
}
};
TrackYourThings.getItems(); TrackYourThings.bindEvents();
解决方案
我认为您在检索date
数据时犯了一个错误,因为 null/undefined 意味着没有数据。据我所知date
,您的数据库中没有字段,但有一个datetime
字段。
尝试更改以下内容:
var date = $("#date").val();
至:
var date = $("#datetime-field").val();
推荐阅读
- rest - Flutter web:如何连接到一个 REST API 或 localhost
- javascript - 当我尝试在 React 中映射和渲染数据时,应用程序崩溃了
- java - HTTPClient ConnectionKeepAliveStrategy 未按预期工作
- angular - 错误错误:未捕获(承诺):TypeError:无法读取Angular和谷歌地图自动完成中未定义的属性'nativeElement'
- c# - 在页面之间保留照片数据的最佳方式是什么?
- javascript - 如何在 Object.keys 中设置/编辑变量
- javascript - 生成 powerpoint 时使用 RED X 代替图像
- python - 我想做出随机选择,但它的值有权重
- amazon-ecs - 如何在 CodePipeline 中处理 ECS 部署以更改任务定义
- python - 即使已安装,也无法在 jupyter notebbok 中导入 numpy 库