1

我有一个 JavaScript 页面,它可以像下面的代码一样进行 Ajax 调用。PHP 页面位于公司 Intranet 中,需要在域中进行身份验证(不允许使用基本身份验证)。我使用 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 中也充当语法运算符的符号存在一些冲突……但是如何正确地将它们转义为密码?

谢谢!

4

1 回答 1

2

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

于 2013-01-21T19:18:21.040 回答