superagent 设置自定义请求 headers es6 不是 Access-Control-Request-Headers
superagent set custom request headers es6 not Access-Control-Request-Headers
我知道这在 post 中得到了解决,但我仍然无法使用 ES6 设置自定义 header 并且想知道是否有人 运行问题?问题是什么时候使用 .set 设置 header 我只将 Access-Control-Request-Header 设置为我想要设置的标签并且值丢失了。我想使用 superagent 在请求 header 上设置一个自定义字段,但不确定如何设置。
假设我运行在我的应用程序(客户端)中使用它
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 请求发出的 header 包含:
Access-Control-Request-Headers:content-type, x-authorization
在浏览器调试器的网络选项卡中的请求 Headers 下。我想设置 get 的 headers,以便在浏览器调试器的网络选项卡中的 Request Headers 下,我看到:
X-Authorization: some_token
Content-Type: application/json
有没有人知道我如何设置请求 Headers 以得到任何 field/value 我想使用 ES6 和 superagent?
感谢所有先进!
在调用 get 之前尝试将以下代码添加到您的脚本中。
ajax._defaultHeaders = {};
function isObject(obj) { return Object(obj) === obj; };
ajax.set = (function (field, value) {
if (isObject(field)) {
for(var key in field) this.set(key, field[key]);
return this;
}
this._defaultHeaders[field] = value;
return this;
}).bind(ajax)
曾经在 Spring 引导应用程序和前端的 React JS 中遇到过类似的问题。
当我转储附加到 RQ 的 headers 时,我曾经只看到 headers 模式:
Access-Control-Request-Headers:content-type, x-authorization, etc...
然而,这是与我的后端应用程序相关的问题,而不是与前端的 superagent 相关的问题。
我必须在 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.
我知道这在
假设我运行在我的应用程序(客户端)中使用它
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 请求发出的 header 包含:
Access-Control-Request-Headers:content-type, x-authorization
在浏览器调试器的网络选项卡中的请求 Headers 下。我想设置 get 的 headers,以便在浏览器调试器的网络选项卡中的 Request Headers 下,我看到:
X-Authorization: some_token
Content-Type: application/json
有没有人知道我如何设置请求 Headers 以得到任何 field/value 我想使用 ES6 和 superagent?
感谢所有先进!
在调用 get 之前尝试将以下代码添加到您的脚本中。
ajax._defaultHeaders = {};
function isObject(obj) { return Object(obj) === obj; };
ajax.set = (function (field, value) {
if (isObject(field)) {
for(var key in field) this.set(key, field[key]);
return this;
}
this._defaultHeaders[field] = value;
return this;
}).bind(ajax)
曾经在 Spring 引导应用程序和前端的 React JS 中遇到过类似的问题。
当我转储附加到 RQ 的 headers 时,我曾经只看到 headers 模式:
Access-Control-Request-Headers:content-type, x-authorization, etc...
然而,这是与我的后端应用程序相关的问题,而不是与前端的 superagent 相关的问题。
我必须在 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.