使用带有特殊字符的密码的Javascript Ajax调用
我有一个JavaScript页面,可以进行如下代码所示的Ajax调用。PHP页面位于公司内部网中,需要在域中进行身份验证(不允许使用基本身份验证)。我使用jQuery从输入字段中收集用户名(u)和密码(p)使用带有特殊字符的密码的Javascript Ajax调用,javascript,jquery,ajax,authentication,passwords,Javascript,Jquery,Ajax,Authentication,Passwords,我有一个JavaScript页面,可以进行如下代码所示的Ajax调用。PHP页面位于公司内部网中,需要在域中进行身份验证(不允许使用基本身份验证)。我使用jQuery从输入字段中收集用户名(u)和密码(p) var u = $('#user').val(); var p = $('#pass').val(); $.ajax({ url: "http://mydomain/mypage.php", username: u, password: p, error:
var u = $('#user').val();
var p = $('#pass').val();
$.ajax({
url: "http://mydomain/mypage.php",
username: u,
password: p,
error: function () {
}
}).done(function(html) {
//Do Stuff
});
这个解决方案非常有效……除非用户的密码中有特殊字符。到目前为止,我们似乎受到以下因素的影响:@$+
在我看来,在JavaScript中,收集密码和充当语法运算符的符号之间似乎存在一些冲突……但如何正确地将它们转义为密码提交呢
谢谢 您必须对参数进行URL编码。对于JavaScript,请看一看。后端框架会理解它,所以不用担心 我很肯定他们提交的是正确的。查看已发送的HTTP头。您的服务器需要这种格式吗?您正在通过http发送用户名和密码作为get请求?哎呀,安全噩梦。是的,我知道。我通常不会这样做,但在这种情况下,数据路径是由另一种方法保护的,所以我不担心。真的吗?我本以为jQuery会在需要时处理这个问题,但根据我的经验,没有。@Bergi可能只对
数据参数执行此操作,而不是用户名/密码。从未使用过它们,有趣的想法我刚从一个用户那里听到:这似乎很有效,至少对Amp和at来说是这样。。谢谢!:)