NutzCN Logo
问答 这些在request中获取的值,是app设置的还是html5设置的?
发布于 78天前 作者 书生 149 次浏览 复制 上一个帖子 下一个帖子
标签: mvc
String at = req.getParameter("accesstoken");
		NutMap re = new NutMap().setv("ok", 0);
		log.debug(Json.toJson(req.getHeaderNames()));
		if (req.getHeader("Authorization") != null) {
			log.debug("api version = " + req.getHeader("Api-Version"));
			String loginname = req.getHeader("Api-Loginname");
			String nonce = req.getHeader("Api-Nonce");
			String key = req.getHeader("Api-Key");
			String time = req.getHeader("Api-Time");

html5这么设置header后

Vue.http.interceptors.push((request, next) => {
  request.headers.set('Api-Key', store.state.ApiLogin.ApiKey)
  request.headers.set('Api-Loginname', store.state.ApiLogin.ApiLoginname)
  request.headers.set('Api-Version', 'store.state.ApiLogin.ApiVersion')
  request.headers.set('Api-Nonce', store.state.ApiLogin.ApiNonce)
  request.headers.set('Api-Time', store.state.ApiLogin.ApiTime)
  console.log(request.headers);
  next()
})

服务器没有获取到值?

16 回复

console.log显示有值吗? 服务器端把header都打印一下吧

Authorization 这个没传??

有传的,那是我们测试用的

Headers
map
:
Object
Accept
:
Array[1]
Api-Key
:
Array[1]
Api-Loginname
:
Array[1]
Api-Nonce
:
Array[1]
Api-Time
:
Array[1]
Api-Version
:
Array[1]
0
:
"store.state.ApiLogin.ApiVersion"
length
:
1
__proto__
:
Array[0]
Content-Type
:
Array[1]
__proto__
:
Object
__proto__
:
Object

你打印的这些值里面,没有Authorization哦

那个值我们测试用的,已经去除了
store.state.ApiLogin.ApiVersion这个就是Api-Version

... 那你debug一下吧...

debug没有获取到,request.headers.set('Api-Loginname', store.state.ApiLogin.ApiLoginname)这些设置值放在了request中的哪个对象中?

是不是可以确定是客户端没有发送这些header了?? Vue Http库的用法问题??

刚又试了一下,在req.getHeaders("Api-Version")里面有值,getHeader和getHeaders有区别吗

getHeaders返回的是迭代器,要迭代一下才知道有没有值的.

debug后结果是这样的,也没有

=== MimeHeaders ===
host = starskybbs.ngrok.cc
connection = keep-alive
user-agent = Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36
accept = */*
referer = http://172.16.28.4:8081/
accept-encoding = gzip, deflate, sdch
accept-language = zh-CN,zh;q=0.8
cookie = sid=oke4l259qqgcppiesdtmstd421; JSESSIONID=FEBACC2EC6FBAEBFD69B40470CF2A422

ngrok.cc 是不是过滤了?

连接我本地也没有值,如果将这些值设置parameter参数传到服务器,会有什么问题吗?
设置parameter值试过,可以得到值

@qq_97f5068e 应该没啥问题,名字可能要改好看点, 毕竟不是header的命名规则了

在同域测试是成功的,可能是因为跨域了,所以没有成功

添加回复
请先登陆
回到顶部