getElementById.value 到 json 使用 node.js 进入 PostgreSQL,不会传递值
getElementById.value to json into PostgreSQL with node.js, won't pass value
嗯,我的应用程序需要一些帮助。
我正在尝试传递从 HTML 上的 getElemenyById()
获得的值,但是当代码运行时,它不会进入我的数据库。
当我通过 Alert()
显示值时,我正确地看到了 json 值,但它们不会进入数据库。
如果我手动输入值而不是使用 getElementById().value
,代码可以正常工作。
我会留下我的代码的一些关键部分,在此先感谢。感谢您的帮助!
<script>
const btnCreate = document.getElementById("btn");
btnCreate.addEventListener("click", async e=> {
const jsonRequest = {};
jsonRequest.id = document.getElementById("status").value;
jsonRequest.lead_id = document.getElementById("brandname").value;
alert("id = "+jsonRequest.id+" && lead_d = "+jsonRequest.lead_id);
const result = await fetch("http://localhost:8080/lds", {method: "POST",
headers: {"content-type": "application/json"}, body: JSON.stringify(jsonRequest) });
const success = await result.json();
alert("CREATED! ")
})
</script>
app.post("/lds", async (req, res) => {
let result = {}
try{
const reqJson = req.body;
await createStatus(reqJson.id,reqJson.lead_id);
result.success = true;
}
catch(e){
result.success = false;
}
finally{
res.setHeader("content-type", "application/json")
res.send(JSON.stringify(result))
}
})
async function createStatus(id, lead_id) {
try {
await client.query("insert into lead_status (id, lead_id) values (, )", [id, lead_id]);
return true
} catch (e) {
return false;
}
}
嗯,很快,
我想我找到了问题的答案,但我不确定它是否正确。我确信它有效。
问题出在 html 脚本的 js 上。我刚刚将 getElementById().value
解析为 int.
我的数据库中的两个字段 table 都是整数。
parseInt(jsonRequest.id = document.getElementById("brandname").value);
parseInt(jsonRequest.lead_id = document.getElementById("status").value);
嗯,我的应用程序需要一些帮助。
我正在尝试传递从 HTML 上的 getElemenyById()
获得的值,但是当代码运行时,它不会进入我的数据库。
当我通过 Alert()
显示值时,我正确地看到了 json 值,但它们不会进入数据库。
如果我手动输入值而不是使用 getElementById().value
,代码可以正常工作。
我会留下我的代码的一些关键部分,在此先感谢。感谢您的帮助!
<script>
const btnCreate = document.getElementById("btn");
btnCreate.addEventListener("click", async e=> {
const jsonRequest = {};
jsonRequest.id = document.getElementById("status").value;
jsonRequest.lead_id = document.getElementById("brandname").value;
alert("id = "+jsonRequest.id+" && lead_d = "+jsonRequest.lead_id);
const result = await fetch("http://localhost:8080/lds", {method: "POST",
headers: {"content-type": "application/json"}, body: JSON.stringify(jsonRequest) });
const success = await result.json();
alert("CREATED! ")
})
</script>
app.post("/lds", async (req, res) => {
let result = {}
try{
const reqJson = req.body;
await createStatus(reqJson.id,reqJson.lead_id);
result.success = true;
}
catch(e){
result.success = false;
}
finally{
res.setHeader("content-type", "application/json")
res.send(JSON.stringify(result))
}
})
async function createStatus(id, lead_id) {
try {
await client.query("insert into lead_status (id, lead_id) values (, )", [id, lead_id]);
return true
} catch (e) {
return false;
}
}
嗯,很快,
我想我找到了问题的答案,但我不确定它是否正确。我确信它有效。
问题出在 html 脚本的 js 上。我刚刚将 getElementById().value
解析为 int.
我的数据库中的两个字段 table 都是整数。
parseInt(jsonRequest.id = document.getElementById("brandname").value);
parseInt(jsonRequest.lead_id = document.getElementById("status").value);