Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在java中获取头值_Javascript_Ajax_Filter - Fatal编程技术网

Javascript 如何在java中获取头值

Javascript 如何在java中获取头值,javascript,ajax,filter,Javascript,Ajax,Filter,我编写了一个servlet过滤器,其中我试图从rest client/postman chrome插件获取custom header=samlRequest的值,我获取了samlRequest的值,但使用ajax调用我提供了samlRequest键及其值,但在java中,我获取了“访问控制请求头”中唯一的键samlRequest,如何获取samlRequest的值 $.ajax({ url: "http://indlin500.corp.test.com:31000/t

我编写了一个servlet过滤器,其中我试图从rest client/postman chrome插件获取custom header=samlRequest的值,我获取了samlRequest的值,但使用ajax调用我提供了samlRequest键及其值,但在java中,我获取了“访问控制请求头”中唯一的键samlRequest,如何获取samlRequest的值

$.ajax({
             url: "http://indlin500.corp.test.com:31000/test/Portal/index.html",
             type: "GET",
             headers: { 'samlRequest': 'eJzVWVlz4roSfs6/oJhHJvECBkMRTsk2+2ow68stY8u2wBuWjQ2//srsyUlmJufOramTSjm41f '},
             beforeSend: function(xhr){xhr.setRequestHeader('samlRequest', 'eJzVWVlz4roSfs6/oJhHJvECBkMRTsk2+2ow68stY8u2wBuWjQ2//srsyUlmJufOramTSjm41f ');},
             success: function() { alert('Success!' + authHeader); }
    });
防火墙探索[ weblogic.servlet.internal。ServletRequestImpl@4f839843[选择 /testsOSS/Portal/index.html HTTP/1.1连接:保持活动状态 访问控制请求方法:获取来源: 用户代理:Mozilla/5.0(Windows NT 6.1;WOW64)AppleWebKit/537.36 (KHTML,像壁虎)Chrome/55.0.2883.87 Safari/537.36 访问控制请求头:授权、samlrequest、, x-partnerkey接受:/DNT:1推荐人: 接受编码:gzip,deflate,sdch接受语言:en-US,en;q=0.8 ]]

使用chrome rest客户端插件,我在标题中获得了samlRequest,以及我提供的值

防火墙探索[ weblogic.servlet.internal。ServletRequestImpl@24d746a[得到 /testOSS/Portal/index.html HTTP/1.1连接:保持活动状态 缓存控制:无缓存采样请求:eJzVWVlz4roSfs6/oJhHJvECBkMRTsk2+2ow68stY8u2wBuWjQ2//srsyUlmJufOramTSjm41f用户代理:Mozilla/5.0 (WindowsNT6.1;WOW64)AppleWebKit/537.36(KHTML,如Gecko) Chrome/55.0.2883.87 Safari/537.36邮递员代币: ce7765d0-94b5-a1e1-d6ba-2abada3dfdd6接受:/DNT:1 接受编码:gzip,deflate,sdch接受语言:en-US,en;q=0.8

]]


从浏览器发出跨原点请求时,浏览器会在实际请求之前发出飞行前请求。它是一个选项请求,与预期的GET请求不同

尝试在实际筛选器之前添加CORS筛选器,该筛选器将对任何选项请求回复OK。可在此处找到示例代码:


顺便说一下,您不需要在请求中设置两次头。您可以从ajax请求中删除beforeSend块。

您需要将请求转换为
HttpServletRequest
,其中包含
getHeader
方法。