Javascript jQuery未传递自定义头
我已经阅读了大量与jQuery发送标题相关的文档和google链接(包括堆栈溢出),但都没有成功。我正在用Fiddler和FireBug检查请求,但都没有显示自定义标题 我对jQuery非常陌生,所以可能所有的答案都假设了一些我不知道的包含知识 我的最终目标是调用一个RESTful服务,该服务要求用户名/密码组合在标题中(这是这个问题的主要原因),一旦经过身份验证,调用另一个web服务以获取一个安全令牌,在新创建的cookie中使用,然后将用户重定向到另一个需要此安全cookie进行身份验证的站点。(我讨厌单点登录集成) 以下是我的HTML文件,其中包括(下载的)jQuery和自定义JS:Javascript jQuery未传递自定义头,javascript,jquery,header,Javascript,Jquery,Header,我已经阅读了大量与jQuery发送标题相关的文档和google链接(包括堆栈溢出),但都没有成功。我正在用Fiddler和FireBug检查请求,但都没有显示自定义标题 我对jQuery非常陌生,所以可能所有的答案都假设了一些我不知道的包含知识 我的最终目标是调用一个RESTful服务,该服务要求用户名/密码组合在标题中(这是这个问题的主要原因),一旦经过身份验证,调用另一个web服务以获取一个安全令牌,在新创建的cookie中使用,然后将用户重定向到另一个需要此安全cookie进行身份验证的站
<!DOCTYPE html>
<html>
<head>
<title>Hello jQuery</title>
<script src="../js/jquery-1.11.3.js"></script>
<script src="../js/jquery.form-3.51.0.js"></script>
<script src="../js/login.js"></script>
</head>
<body>
<a href="/rest/user/authenticate" id="loginLink">click to launch</a>
</br>
</br>
<form id="loginForm" method="GET" action="/rest/user/authenticate">
User ID:<br>
<input type="text" style="width:100px;" size="16" id="user" name="user" value="" /><br>
Password:<br>
<input type="password" style="width:100px;" size="16" id="password" name="password" /><br><br>
<input style="cursor: hand" type="submit" border="0" align="middle" name="" value='Log in' /><br>
</form>
</body>
</html>
我想这可能是提交表单的一些限制,所以我也尝试通过单击链接来获取自定义标题,但也不包括标题
$('#"loginLink"').click(function(){
event.preventDefault();
$.ajax({
url: '/rest/user/authenticate',
type: 'GET',
data: {},
contentType: 'text/plain',
//headers: {"BLAH": "test-value"},
beforeSend: function(xhr){xhr.setRequestHeader('BLAH', 'test-value');},
success: function () { },
error: function () { },
});
});
请求被发送到我的RESTful服务,但是没有包含头
我做错了什么
谢谢,
肖恩你怎么知道没有设置标题?您是否通过浏览器开发工具查看了HTTP请求?是的,从上面的第一段开始:我正在使用Fiddler和FireBug检查请求,并且都没有显示自定义头。您的ajax代码对我来说很好,并设置了
'BLAH'
头对不起:)机制确实有效;我一直在使用它。@charlietfl您使用的浏览器是什么,您如何确认包含了标题?
$('#"loginLink"').click(function(){
event.preventDefault();
$.ajax({
url: '/rest/user/authenticate',
type: 'GET',
data: {},
contentType: 'text/plain',
//headers: {"BLAH": "test-value"},
beforeSend: function(xhr){xhr.setRequestHeader('BLAH', 'test-value');},
success: function () { },
error: function () { },
});
});