1

以下のコードのようにAjax呼び出しを行うJavaScriptページがあります。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で構文演算子としても機能する記号を使用してパスワードを収集する際に競合が発生しているようですが、パスワードとして送信するためにパスワードを適切にエスケープするにはどうすればよいですか?

ありがとう!

4

1 に答える 1

2

パラメータをURLエンコードする必要があります。JavaScriptについては、encodeURIComponentをご覧ください。バックエンドフレームワークはそれを理解するので、それについて心配する必要はありません。

于 2013-01-21T19:18:21.040 に答える