我知道this帖子已经解决了这个问题,但是我仍然无法使用ES6设置自定义标头,我想知道是否有人遇到过这个问题?问题是何时使用.set设置标头我只将Access-Control-Request-Header设置为我想要设置的标签,并且值丢失。我想使用superagent在请求标头上设置自定义字段,但不确定如何。
我们说我在我的应用程序(客户端)中运行它
import ajax from 'superagent'
ajax.get(baseURL + "/query/")
.query({q: "SELECT Id FROM USER WHERE Id=" + id})
.set('X-Authorization', 'Oauth ' + token)
.set('Content-Type', 'application/json')
.end((error, response) => {
if(errro) { console.log(error); }
}
get请求生成的标头包含:
Access-Control-Request-Headers:content-type, x-authorization
在浏览器调试器的网络选项卡中的请求标头下。我想设置get的标题,以便在浏览器dubugger的网络选项卡中的Request Headers下看到:
X-Authorization: some_token
Content-Type: application/json
有没有人对如何设置请求标头以获得使用ES6和superagent的任何字段/值有任何想法?
感谢所有先进的人!
答案 0 :(得分:1)
曾经在 Spring Boot 应用程序和前端 React JS 中遇到过类似的问题。
当我转储附加到 RQ 的标头时,我过去只能看到带有模式的标头:
Access-Control-Request-Headers:content-type, x-authorization, etc...
然而,这是与我的后端应用程序有关的问题,而不是与前端的超级代理有关。
我不得不在 WebSecurityConfig 中打开 cors()
以使其看起来与此类似:
@Override
protected void configure(HttpSecurity httpSecurity) throws Exception {
httpSecurity.csrf().disable()
.cors().and()
.authorizeRequests().antMatchers("/auth/login", "/auth/register").permitAll().
anyRequest().authenticated().and().
exceptionHandling().authenticationEntryPoint(jwtAuthenticationEntryPoint).and().sessionManagement()
.sessionCreationPolicy(SessionCreationPolicy.STATELESS);
如您所见,问题在于 Spring 配置,而不是 Superagent,
问候 R.
答案 1 :(得分:0)
尝试在调用get之前将以下代码添加到脚本中。
bool