如何通过 AJAX 将值作为表单对象发送?
How to send values as form object via AJAX?
我们在通过 AJAX 作为字符串发送的 pw 字段中遇到特殊字符时遇到问题。
目前的情况是这样的:
function resetPW() {
var username = encodeURIComponent($("#email").val());
var password = encodeURIComponent($("#newpassword").val());
$.ajax({
url: "/setnewpassword",
type: "post",
data: "username=" + username + "&password=" + password,
}).done(function (response) {
...
});
之前有一些特殊字符(&)被空格代替了(这好像是编码固定的,以前没有),其他的好像是编码错误。最后,很多用户在登录时遇到问题。
我真的不知道在这里做什么。有人提到我应该通过“表单对象”发送数据——但我该如何在这里实现呢?我可以在网上找到关于这个主题的一些问题,但由于我在对象构建方面完全没有经验并且 AJAX 根本没有,所以我不能采纳那些对我的特殊问题的答复。如果这个问题对您来说是重复的,请原谅!
不要自己对数据进行编码。 jQuery 为您做到这一点。放吧。
function resetPW() {
return $.post("/setnewpassword", {
username: $("#email").val(),
password: $("#newpassword").val()
}).done(function (response) {
...
});
}
如果这不起作用,那么您的服务器代码已损坏。
Some special characters (&) have been replaced by blanks before
不,也不要那样做。保留用户输入的所有内容。
我们在通过 AJAX 作为字符串发送的 pw 字段中遇到特殊字符时遇到问题。
目前的情况是这样的:
function resetPW() {
var username = encodeURIComponent($("#email").val());
var password = encodeURIComponent($("#newpassword").val());
$.ajax({
url: "/setnewpassword",
type: "post",
data: "username=" + username + "&password=" + password,
}).done(function (response) {
...
});
之前有一些特殊字符(&)被空格代替了(这好像是编码固定的,以前没有),其他的好像是编码错误。最后,很多用户在登录时遇到问题。
我真的不知道在这里做什么。有人提到我应该通过“表单对象”发送数据——但我该如何在这里实现呢?我可以在网上找到关于这个主题的一些问题,但由于我在对象构建方面完全没有经验并且 AJAX 根本没有,所以我不能采纳那些对我的特殊问题的答复。如果这个问题对您来说是重复的,请原谅!
不要自己对数据进行编码。 jQuery 为您做到这一点。放吧。
function resetPW() {
return $.post("/setnewpassword", {
username: $("#email").val(),
password: $("#newpassword").val()
}).done(function (response) {
...
});
}
如果这不起作用,那么您的服务器代码已损坏。
Some special characters (&) have been replaced by blanks before
不,也不要那样做。保留用户输入的所有内容。