在测试通过 jQuery ajax 从用户发送到服务器的输入时,我收到此错误“从客户端检测到潜在危险的 Request.Form 值”。只有当我故意在输入 ex 中放置一个单双引号 html 字符 "<s"c'o<>"
作为我的用户名时,它才会出现。但是,我仍然希望能够优雅地编码和解码用户尝试输入的任何错误输入。
这是客户端jquery
var email = encodeURIComponent($('#loginEmail').val());
var password = encodeURIComponent($('#loginPassword').val());
$.ajax({
async: false,
url: 'Account/CheckLogin',
dataType: 'JSON',
contentType: 'application/json',
data: {
email: email,
password: password
},
success: function (resp) {
alert(resp.valid);
if (resp.valid == "false") {
isValid = false;
$('.errorspan').show();
}
}
});
控制器代码实际上并不重要,因为错误在到达第一行的断点之前就被抛出了。在我有机会处理代码之前,似乎 Asp.net 试图将其作为 ajax 传递。我的问题是 - 为什么 encodeUriComponent() 会发生这种情况?