鍍金池/ 問答/人工智能  Java  網(wǎng)絡安全/ 跨域請求,后端要求token放入header中,如何解決?

跨域請求,后端要求token放入header中,如何解決?

靜態(tài)頁面,需要調(diào)用后端接口(后端與前端未放在一起,需跨域),后端要求token寫入header中請求接口,求問代碼如何寫?

回答
編輯回答
薔薇花

ajax的設置頭部token

$.ajax({
    url: host + "/order/autoImport",
    method: 'post',
    data: excel,
    beforeSend: function(request) {
        request.setRequestHeader("token", token);
        request.setRequestHeader("version", version);
        request.setRequestHeader("taskId", currentTask.id);
    },
    success: function(rs) {
    
    }
})
2017年11月14日 03:05
編輯回答
空痕

如果你是用axios做跨域請求的話,可以這樣寫:

axios.interceptors.request.use(config => {
   config.headers = {
      'X-token': token
   }
  
  return config
}, err => {
  return Promise.reject(err)
})

這樣每次請求header中都能帶上token。

2017年10月27日 03:47
編輯回答
獨特范

獲取到xhr對象,調(diào)用xhr的setHeader方法
或者框架一般封裝好了,直接傳header就好了

2017年1月6日 15:24
編輯回答
貓小柒
$.ajax({
    url: url,
    headers: {
        "token": token,
    }
});

這樣呢?

2017年2月23日 08:05
編輯回答
神經(jīng)質(zhì)
   $.ajax({
        url:httpUrl,
        type: 'get',
        data: {},
        beforeSend: function(request){
            request.setRequestHeader("token", "xxxx");
        },
        dataType: 'json',
        success: function(data){
            console.log(data);
        },
        error: function(error){
            console.log(error)
        }
    });

以上是前端請求處理。
以下是后端(java)處理:

@Configuration
    public class CorsConf {
        @Bean
        public CorsFilter corsFilter() {
            UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
            CorsConfiguration corsConfiguration = new CorsConfiguration();
            corsConfiguration.addAllowedOrigin("*");
            corsConfiguration.addAllowedHeader("*");
            corsConfiguration.addAllowedMethod("*");
            source.registerCorsConfiguration("/**", corsConfiguration);
            return new CorsFilter(source);
        }
    }
2018年7月2日 15:14