Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用带有特殊字符的密码的Javascript Ajax调用_Javascript_Jquery_Ajax_Authentication_Passwords - Fatal编程技术网

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

使用带有特殊字符的密码的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:

我有一个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中,收集密码和充当语法运算符的符号之间似乎存在一些冲突……但如何正确地将它们转义为密码提交呢


谢谢

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

我很肯定他们提交的是正确的。查看已发送的HTTP头。您的服务器需要这种格式吗?您正在通过http发送用户名和密码作为get请求?哎呀,安全噩梦。是的,我知道。我通常不会这样做,但在这种情况下,数据路径是由另一种方法保护的,所以我不担心。真的吗?我本以为jQuery会在需要时处理这个问题,但根据我的经验,没有。@Bergi可能只对
数据
参数执行此操作,而不是
用户名
/
密码
。从未使用过它们,有趣的想法我刚从一个用户那里听到:这似乎很有效,至少对Amp和at来说是这样。。谢谢!:)