如何通过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) { 
... 
});

一些特殊字符(&)之前已经被空白替换(这似乎是通过编码修复的,以前没有),其他字符似乎是错误的编码。最后,很多用户在登录时遇到了问题。

我真不知道该怎么办。有人提到我应该通过form objects发送数据-但我如何在这里实现这一点?我可以在网上找到一些关于这个主题的问题,但是由于我在对象构建和AJAX方面完全没有经验,所以我不能采用这些回答来解决我的特殊问题。所以如果这个问题对你来说是重复的,请原谅!

不要自己编码数据。jQuery为您做了这些。让它。

function resetPW() {
return $.post("/setnewpassword", {
username: $("#email").val(),
password: $("#newpassword").val()
}).done(function (response) { 
... 
});
}

如果这不起作用,那么你的服务器代码就坏了。

一些特殊字符(&)已被

前面的空格替换

不,也不要那样做。保持所有内容与用户输入的内容一致。

最新更新