Javascript 反应axios数据类型问题
我有以下提交方法:Javascript 反应axios数据类型问题,javascript,local-storage,Javascript,Local Storage,我有以下提交方法: submitForm(e) { e.preventDefault(); var token = document.getElementsByTagName("meta")[0].getAttribute("content"); var form = document.querySelector('.form'); if(navigator.onLine && JSON.parse(localStorage.getItem
submitForm(e) {
e.preventDefault();
var token = document.getElementsByTagName("meta")[0].getAttribute("content");
var form = document.querySelector('.form');
if(navigator.onLine && JSON.parse(localStorage.getItem('candidates'))) {
axios({
url: '/save-data',
method: 'POST',
contentType: 'application/json',
data: {
"candidates": localStorage.getItem('candidates')
},
headers: {
'Content-Type': 'application/json',
'X-CSRF-TOKEN': token
}
}).then(function(response) {
console.log(response);
})
.catch(function(e){
console.log(e);
});
}
else {
var singleCandidate = serialize(form, { hash: true });
var fromStorage = localStorage.getItem("candidates");
if (fromStorage) {
var parsedFromStorage = JSON.parse(fromStorage)
parsedFromStorage.push(singleCandidate)
localStorage.setItem("candidates", JSON.stringify(parsedFromStorage));
}
else {
localStorage.setItem("candidates", JSON.stringify([singleCandidate]));
}
}
}
它从本地存储加载数据,如果同时存在数据和连接,则提交数据。
但是,有一些不适用于以下情况:
data: {
"candidates": localStorage.getItem('candidates')
},
如果我这样做:
data: {
"candidates": [
{
"name": this.state.firstName,
"email": this.state.email,
"university": this.state.university,
"degree": this.state.degree
}
]
},
我得到了肯定的答复,表格数据被提交。但是,我必须提交此值(localStorage.getItem('candidates')),当我提交时,我会得到以下信息:
data: {
"candidates": localStorage.getItem('candidates')
},
“localStorage.getItem('candidates')”是否应更改为另一种格式?您是否尝试过
JSON.parse
?我现在已经尝试过了,并且成功了。非常感谢。你试过JSON.parse吗?我现在试过了,效果很好。非常感谢。