superagent设置自定义请求头es6而不是Access-Control-Request-Headers
superagent set custom request headers es6 not Access-Control-Request-Headers
我知道这是在这篇文章中解决的,但我仍然在使用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
在浏览器调试器的网络选项卡中的Request Headers下的。我想设置get的报头,以便在浏览器dubugger的网络选项卡中的请求报头下看到:
X-Authorization: some_token
Content-Type: application/json
是否有人有任何想法,我如何可以设置请求头有任何字段/值,我想使用ES6和超级代理?
感谢所有先进的!
尝试在调用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 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 .
相关文章:
- 如何解决Access Control Allow Origin错误
- 由于响应中不存在“Access Control Allow Origin”标头,跨域请求停止工作
- XMLHttpRequest : 不被 access-control-allow-origin 所允许
- 可以在Access Control Allow Origin中指定端口
- Access Control Allow Origin阻止我访问google api,尽管使用了dataType:
- JSONP跨原点错误'不存在Access Control Allow Origin标头'
- 角度:原点http://localhost在Access Control Allow Origin标头中找不到
- Angular$resource调用不被Access Control Allow使用Safari接受,而被Chrome接
- Instagram API access_token request and Access-Control-Allow-
- 方法不允许 — 从 Angularjs 中的请求标头中删除 Access-Control-Request-Method
- Yahoo - OAuth2 - SocialAPI:在初始响应中不返回“Access-Control-Allow-Or
- 在 Safari 上使用通用分析的 Access-Control-Allow-Origin 不允许
- Windows上的CouchDB说请求的资源上不存在“Access-Control-Allow-Origin”标头
- XMLHttpRequest 无法加载 http No Access-Control-Allow-Origin head
- Emberjs/Chrome/FFox:预检中的数字 Access-Control-Request-Headers
- Simple XMLHttpRequest 失败,Access-Control-Allow-Origin 标头为 nul
- Flickr API OAuth Access Token request and Access-Control-All
- jquery.ajax Access-Control-Allow-Origin
- Chrome Origin 空值是 Access-Control-Allow-Origin 所允许的
- Angular JS$http Access-Control-Allow-Origin中的Credentials和通配符