superagent设置自定义请求标头es6而不是Access-Control-Request-Headers

时间:2016-08-21 21:40:04

标签: javascript ajax reactjs ecmascript-6 superagent

我知道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的任何字段/值有任何想法?

感谢所有先进的人!

2 个答案:

答案 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