let input = {
'email': email,
'password': password
};
axios({
method:'POST',
url: URL,
headers: {
'Content-type': 'application/json; charset=utf-8',
'Accept': 'application/json; charset=utf-8'
},
data: input
}).then(function (response){
console.info(response);
})
.catch(function (error) {
});
Я пытаюсь запросить API с помощью axios, используя метод post. Он не видел установить тип содержимого заголовков запросов, но если я использую jquery ajax, все в порядке.
да ... Я пробовал, как вы написали, но не вышло.
У меня тоже есть эта проблема. Какие-нибудь решения?
На самом деле у меня такая же проблема, я думаю, это связано с политикой cors. Если вы посмотрите заголовок запроса, он включает в себя следующее: {‘Access-Control-Request-Header’: content-type} препятствует отправке нашего заголовка запроса типа содержимого. Одно временное исправление - отключить политику cors браузера. В сафари это можно отключить, нажав «Отключить перекрестное происхождение» в режиме разработки.





Обычно charset=utf-8 не устанавливается вместе с заголовками.
Content-type: application/json; charset=utf-8 обозначает содержимое в формате JSON, закодированном в кодировке символов UTF-8. Указание кодировки для JSON несколько излишне, поскольку кодировка по умолчанию (только?) Для JSON - UTF-8.
это ошибка в axios -.- есть несколько проблем для этой проблемы.
Я могу показать вам свое решение. Надеюсь, это сработает и для вас.
import qs from 'qs'
let input = qs.stringify {
'email': email,
'password': password
});
axios
.post(URL, input)
.then(response => {
console.info(response.headers)
console.info(response.data)
})
.catch(function(error) {
console.error(error)
})Spring Framework обеспечивает первоклассную поддержку CORS. CORS должен быть обработан до Spring Security, потому что предполетный запрос не будет содержать никаких файлов cookie (то есть JSESSIONID). Если запрос не содержит файлов cookie и Spring Security является первым, запрос определит, что пользователь не аутентифицирован (поскольку в запросе нет файлов cookie), и отклонит его.
Самый простой способ убедиться, что сначала обрабатывается CORS, - это использовать CorsFilter. Пользователи могут интегрировать CorsFilter с Spring Security, предоставив CorsConfigurationSource, используя следующее:
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
// by default uses a Bean by the name of corsConfigurationSource
.cors().and()
...
}
@Bean
CorsConfigurationSource corsConfigurationSource() {
CorsConfiguration configuration = new CorsConfiguration();
configuration.setAllowedOrigins(Arrays.asList("*"));
configuration.setAllowedMethods(Arrays.asList("*"));
configuration.setAllowedHeaders(Arrays.asList("*"));
UrlBasedCorsConfigurationSource source = new
UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/**", configuration);
return source;
}
}
вы пробовали вот так:
headers: { 'Content-type': 'application/json', 'Accept': 'application/json' },?