Javascript使用带有特殊字符的密码调用Ajax

时间:2013-01-21 19:16:27

标签: 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: function () {
    }
}).done(function(html) {
        //Do Stuff
});

解决方案非常有效...除非用户的密码中包含特殊字符。到目前为止,似乎我们受到以下因素的影响:@ $ +。

在我看来,有一些冲突收集密码的符号也可以作为JavaScript中的语法运算符......但是如何正确地将它们作为密码提交?

谢谢!

1 个答案:

答案 0 :(得分:2)

您必须对参数进行URL编码。对于JavaScript,请查看encodeURIComponent。后端框架会理解它,所以不要担心。