javascript - getElementById.value 到 json 到带有 node.js 的 PostgreSQL,不会传递值
问题描述
好吧,我需要一些关于我的应用程序的帮助。
我正在尝试传递一个从getElemenyById()
我的 HTML 中获得的值,但是当代码运行时它不会进入我的数据库。
当我通过显示值时,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 ($1, $2)", [id, lead_id]);
return true
} catch (e) {
return false;
}
}
解决方案
嗯,这很快,
我想我找到了问题的答案,但我不确定它是否正确。我确信它有效。
问题出在html脚本上的js上。我只是解析了getElementById().value
as int。
我的 db 表中的两个字段都是整数。
parseInt(jsonRequest.id = document.getElementById("brandname").value);
parseInt(jsonRequest.lead_id = document.getElementById("status").value);
推荐阅读
- apache-kafka - Kafka 分区偏移量分布不均
- r - 在R中旋转轴文本标签
- javascript - 为什么即使我将其删除并保存,此代码仍会出现在我的代码中?
- javascript - 如何在 html5 日历中阻止日期
- ios - 将 cgrect 框架上的 y 值更改为屏幕顶部下方的 80
- flutter - 从外部方法传递异常错误以显示在小部件树中
- css - 外部css不处理数据
- android - Flutter/Android Studio 使用来自另一个项目的密钥来签署我的发行版
- reactjs - 如何修复 React useEffect 时间?
- mysql - mysql中的字符串操作