Javascript 为什么我会丢失一些字段';将对象序列化为JScript中的JSON后的值?
我用JS中的值填充对象的字段,然后用fetch方法将其传递给数据库。我可以看出,这些字段具有正确的值(在控制台中)。但当我将这个JSON对象发送到数据库时,我丢失了这些值。这在日期和布尔字段中发生。为什么会这样Javascript 为什么我会丢失一些字段';将对象序列化为JScript中的JSON后的值?,javascript,Javascript,我用JS中的值填充对象的字段,然后用fetch方法将其传递给数据库。我可以看出,这些字段具有正确的值(在控制台中)。但当我将这个JSON对象发送到数据库时,我丢失了这些值。这在日期和布尔字段中发生。为什么会这样 var advToSaveDB = new Object(); var author = new Object(); var rubric = new Object(); $(window).ready(function () { var advertisement = JSO
var advToSaveDB = new Object();
var author = new Object();
var rubric = new Object();
$(window).ready(function () {
var advertisement = JSON.parse(localStorage.getItem('advertisementToEdit'));
fillAdvFields(advertisement);
$("#save").click(function () {
advToSaveDB.id = advertisement.id;
advToSaveDB.title = $("#title").val();
advToSaveDB.text = $("#text").val();
advToSaveDB.price = $("#price").val();
rubric.id = $(".select").val();
author.id = advertisement.authorId;
advToSaveDB.author = author;
advToSaveDB.rubric = rubric;
advToSaveDB.date = advertisement.date;
var check = document.getElementById('myCheck');
// var closed = false;
if (check.checked === true) {
// closed = true;
advToSaveDB.closed = true;
}
console.log(advToSaveDB.closed);//here is true
console.log(advToSaveDB.date);//here is right value
saveAdv();
$(location).attr('href', 'http://localhost:9999/MyAdvertisements.html?id=1');
});
这是我的功能:
函数saveAdv(){
非常感谢,但服务器在JavaYes上,但我们看到的唯一代码是JavaScript:)当我们标记问题时,标记必须与我们发布的代码相关。好的,您没有发布任何Java,因此不应该添加标记。问题可能是由于您的后端平台或ORM。您可能会遇到序列化/反序列化或解析JSON/D的问题ate对象。检查您在web服务中是否接收到正确的JSON,然后检查您试图在数据库中序列化的数据类型。是的,我编写了日期反序列化程序,它很好地表示了日期。但我在调试器中看到,JSON是错误的。这些字段没有填充
fetch('http://localhost:9999/agency/advertisement/save', {
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
method: 'POST',
body: JSON.stringify(advToSaveDB)
})
.then(function (res) {
if (res.success) {
return res.json();
}
})
.then(function (res) {
})
}