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