json - 如何通过 AJAX 将值作为表单对象发送?
问题描述
我们遇到了来自 pw 字段的特殊字符通过 AJAX 作为字符串发送的问题。
目前的情况是这样的:
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) {
...
});
}
如果这不起作用,那么您的服务器代码已损坏。
一些特殊字符 (&) 之前已被空格替换
不,也不要那样做。完全按照用户输入的方式保留所有内容。
推荐阅读
- c# - 如何通过 web api 获取存储过程的结果,我有复杂类型的返回类型?
- matlab - 当一列中的数字在另一列的字符串中时删除表格行
- android - 如何仅在网格回收器视图中每行的开头和结尾添加边距
- html - 分页用圆圈替换默认正方形
- python - 在python中搜索具有相同文件名的所有文件的最有效方法
- r - R Leaflet ClickEvent无法找到layerId
- c# - 为什么 .net 框架不会自动执行异步操作
- javascript - 如何比较javascript布尔函数中的字符串?
- php - 如何以编程方式添加产品图库图片?
- python - 如何使用 python 以仪表的形式绘制数据,而无需像我必须离线那样进行绘图?