0

jquery ajaxを使ってファイルをアップロードしたいです。REST アプリケーションがあります。この REST アプリケーションは、トークン ベースの認証を使用しています。ログインに成功すると、データベース テーブルにトークンが作成されます。このトークンは、ログイン後のすべてのリクエストで渡されます。ログイン後の各リクエストにトークンがあるかどうかをチェックするフィルターがあり、リクエストにトークンが含まれている場合はデータベースエントリに対して検証されます。

私が望むのは、ヘッダー内に認証キーを追加する Jquery AJAX 呼び出しを使用して REST URL を呼び出すことです。

以下は、機能していない私のコードで、フィルター内で失敗しています。

<!doctype html>
<head>
  <script src="jquery-1.9.1.js"></script>
</head>
<body>
 <div id="progress">
 <input type="file" id="file">
        <input type=button name="btn" value="Upload" id="fileUpload">
</div>
<br/>
<script>
$(document).on("click", "#fileUpload", function(event) {
    console.log($('#file').val());
    var filename = $("#file").val();

    jQuery.ajax({
        type : 'POST',
        beforeSend: function(xhr){xhr.setRequestHeader('pubKey', 'abcd');},
        url : "http://localhost:8080/restapp/somename/getContacts",
        dataType : "json",
        contentType : "application/json;charset=utf-8",
        success: function() { alert('Success!' ); },
        error: function() { alert('Hushhhhhhhhhhhh!' ); }
    });
});
</script>
</body>
</html>

ヘッダー内にデータ/キーを追加する方法を教えてください。いくつかのブログを検索しましたが、何も機能せず、フィルターが毎回リクエストを追い出しています。

4

1 に答える 1

0

答えが出ました。REST モジュールにアクセスするためにスタンドアロンの HTML コードを使用しようとしています。私の REST モジュールには、リクエスト ヘッダー属性として「認証」キーが必要です。また、サーバーがないと、REST モジュールでヘッダー属性を設定および取得できません。リクエスト ヘッダー パラメータを設定するには、サーバーがリクエスト ヘッダーを書き込むように、サーバー上で html を実行する必要があります。

于 2013-09-13T11:52:39.530 に答える