0

我想使用 jquery ajax 上传文件。我有一个 REST 应用程序。此 REST 应用程序使用基于令牌的身份验证。成功登录后,它将在数据库表中创建一个令牌。并且此令牌在登录后的每个请求中传递。我有一个过滤器,它检查登录后的每个请求是否有令牌,如果请求包含令牌,那么它会根据数据库条目进行验证。

我想要的是使用 Jquery AJAX 调用来调用 REST url,它应该在标题中添加 auth 键。

以下是我的代码,它不起作用并且在过滤器内部它失败了。

<!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

得到了答案。我正在尝试使用独立的 html 代码来访问 REST 模块。我的 REST 模块需要“身份验证”键作为请求标头属性。如果没有服务器,我们无法在 REST 模块中设置和获取 header 属性。要设置请求头参数,我们必须在服务器上运行 html,以便服务器为我们编写请求头。

于 2013-09-13T11:52:39.530 回答