Javascript 通过Jquery Ajax POST请求将数据传递给Postgresql数据库 很好的一天
我正在尝试使用jquery发送Ajax post请求。Javascript 通过Jquery Ajax POST请求将数据传递给Postgresql数据库 很好的一天,javascript,jquery,ajax,postgresql,Javascript,Jquery,Ajax,Postgresql,我正在尝试使用jquery发送Ajax post请求。 为此,我使用引导模式获取数据并发送到PostgreSQL DB。数据使用EJS引用到呈现部分。 最后我得到了POST请求数据的未定义值 我标记以触发模态 SQL查询 为了检查req.params.newDescription是什么,我记录它,并查看它是否“未定义” 请告知Jquery Ajax POST请求应如何将数据传递到服务器。“说明”列的数据类型是字符可变的。我是否面临数据类型不兼容的问题 传递到ajax请求中的数据错误。将对象构建
为此,我使用引导模式获取数据并发送到PostgreSQL DB。
数据使用EJS引用到呈现部分。
最后我得到了POST请求数据的未定义值
我标记以触发模态 SQL查询 为了检查req.params.newDescription是什么,我记录它,并查看它是否“未定义” 请告知Jquery Ajax POST请求应如何将数据传递到服务器。“说明”列的数据类型是字符可变的。我是否面临数据类型不兼容的问题
传递到ajax请求中的数据错误。将对象构建到键值对中,并将其传递到请求中。这里有一个例子。您可以使用encodeURIComponent()或encodeURI()转义任何特殊字符,并可以在此处找到文档-
传递到ajax请求中的数据是错误的。将对象构建到键值对中,并将其传递到请求中。这里有一个例子。您可以使用encodeURIComponent()或encodeURI()转义任何特殊字符,并可以在此处找到文档-
如此接近的数据必须是一个对象,比如dictionary key,然后是value,其中key总是text。。。。见下文 假设其参数的接受端点名称为“newDescription” e、 g e、 g 那么,数据将是
var data = {"id": 232, "name": "SomeFancyName" },
如此接近的数据必须是一个对象,比如dictionary key,然后是value,其中key总是text。。。。见下文 假设其参数的接受端点名称为“newDescription” e、 g e、 g 那么,数据将是
var data = {"id": 232, "name": "SomeFancyName" },
将数据作为键值对传递,如so-var data={param:$(“#editTaskDescription”).val()}。构建对象后,将其传递到ajax请求中。Jquery将为您序列化此对象。您可以使用encodeURIComponent()或encodeURI()-@JoeZ转义任何特殊字符,谢谢您的评论。它工作了,但现在它只接受数字作为输入,而不接受字母。如果我尝试添加字母,它会给我一个错误“Json语法错误”。你知道该怎么办吗?。更正:一切正常。非常感谢,很高兴你成功了!我已将其转移到“答案”部分,以使其更加清晰,并确保它将作为其他任何有类似问题的人的解决方案可见。如果我的答案对您有效,请接受它。将数据作为键值对传递,如so-var data={param:$(“#editTaskDescription”).val()。构建对象后,将其传递到ajax请求中。Jquery将为您序列化此对象。您可以使用encodeURIComponent()或encodeURI()-@JoeZ转义任何特殊字符,谢谢您的评论。它工作了,但现在它只接受数字作为输入,而不接受字母。如果我尝试添加字母,它会给我一个错误“Json语法错误”。你知道该怎么办吗?。更正:一切正常。非常感谢,很高兴你成功了!我已将其转移到“答案”部分,以使其更加清晰,并确保它将作为其他任何有类似问题的人的解决方案可见。如果我的回答对你有用,请接受。
$(document).on("click", '.editTask', function() {
$("#editTaskDescription").val($(this).attr('data-description'));
$("#editTaskId").val($(this).attr("data-id"));
var id = $(this).attr("data-id");
var url = '/edit/' + id;
$(".confirmEditTask").on("click", function(event) {
const newDescription = $("#editTaskDescription").val()
alert(newDescription)
if (!null) {
$.ajax({
type: "POST",
url: url,
data: newDescription,
success: function(result) {
$("#editTaskModal").modal('hide')
console.log("editing task");
window.location.href = '/'
},
error: function(err) {
console.log(err);
}
})
}
})
})
})
// Edit task by ID
app.post('/edit/:id', function(req, res) {
console.log(req.params.newDescription);
pool.query("UPDATE tasks SET description=$1 WHERE id=$2", [req.params.newDescription, req.params.id]);
res.sendStatus(200);
})
var data = {"newDescription": $("#editTaskDescription").val()}
[HttpPost("edit/{id}")]
public ActionResult Edit([FromUrl]string id,[FromBody] string newDescription)
{
}
$(document).on("click", '.editTask', function() {
$("#editTaskDescription").val($(this).attr('data-description'));
$("#editTaskId").val($(this).attr("data-id"));
var id = $(this).attr("data-id");
var url = '/edit/' + id;
$(".confirmEditTask").on("click", function(event) {
const newDescription = $("#editTaskDescription").val()
if (!null) {
$.ajax({
type: "POST",
url: url,
data: {"newDescription": newDescription },
success: function(result) {
},
error: function(err) {
console.log(err);
}
})
}
})
})
})
[HttpPost()]
public ActionResult Edit(int id, string name)
{
}
var data = {"id": 232, "name": "SomeFancyName" },
$.ajax({
type: "POST",
url: url,
data: data,
success: function(result) {
},
error: function(err) {
console.log(err);
}
})