長期聆聽者,第一次來電者。
我創建了一個表單并向我的資料庫(Xano)發送了一個獲取請求。我的 JSON 物件如下所示。
{
"job_type": "full-time",
"job_title": "3D Art Director",
"job_location": "remote",
"job_level": "senior",
"salary": "$600 day"
}
但是 Xano 需要它在“資料”內部更深一層,否則我無法用點符號映射事物......
{
"data": {
"job_type": "full-time",
"job_title": "3D Art Director",
"job_location": "remote",
"job_level": "senior",
"salary": "$600 day"
}
}
我的JS在下面。那么在哪里以及如何使 JSON 回應位于 "data:"{} 中?(我是一個完整的 JS 菜鳥,我的代碼是來自各種來源的科學怪人怪物!)
document.addEventListener('DOMContentLoaded', () => {
document.getElementById('jobForm').addEventListener('submit', handleForm);
});
function handleForm(ev) {
ev.preventDefault();
let jobForm = ev.target;
let fd = new FormData(jobForm);
//look at all the contents
for (let key of fd.keys()) {
console.log(key, fd.get(key));
}
let json = convertFD2JSON(fd);
//send the request with the formdata
let url = 'https://hookb.in/eKjeKejY6NhlaRPldLNP';
let h = new Headers();
h.append('Content-Type', 'application/json');
let req = new Request(url, {
mode: 'cors', // no-cors, *cors, same-origin
headers: h,
body: json,
method: 'POST',
});
fetch(req)
.then((res) => res.json())
.then((data) => {
console.log('Response from server');
console.log(data);
})
.catch(console.warn);
}
function convertFD2JSON(formData) {
let obj = {};
for (let key of formData.keys()) {
obj[key] = formData.get(key);
}
return JSON.stringify(obj);
}
uj5u.com熱心網友回復:
您可以執行以下操作:
function convertFD2JSON(formData) {
let obj = {
data: {}
};
for (let key of formData.keys()) {
obj.data[key] = formData.get(key);
}
return JSON.stringify(obj);
}
uj5u.com熱心網友回復:
只需在序列化之前構建所需的物件結構:
function convertFD2JSON(formData) {
const data = {};
for (let key of formData.keys()) {
data[key] = formData.get(key);
}
return JSON.stringify({ data }); // same as { data: data }
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/495387.html
標籤:javascript json 邮政 获取 API 表单数据
上一篇:線交點的共面矩形段面積
