axios set headers content-type在react redux中的请求头中不起作用

时间:2018-06-05 04:06:44

标签: reactjs redux axios

 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.log(response);

    })
    .catch(function (error) {

    });

我尝试使用方法帖子向axios请求API。它没有看到set request header content-type,但如果我使用jquery ajax就可以了。

image of headers

3 个答案:

答案 0 :(得分:0)

通常charset=utf-8不会与标题一起设置。

Content-type: application/json; charset=utf-8将内容指定为JSON格式,以UTF-8字符编码进行编码。对于JSON来说,指定编码有点多余,因为JSON的默认(仅?)编码是UTF-8。

答案 1 :(得分:0)

它是axios中的一个错误-.-此问题有多个问题。

我可以告诉你我的解决方案。我希望它也对您有用。

import qs from 'qs'
let input = qs.stringify {
'email': email,
'password': password
});

axios
  .post(URL, input)
  .then(response => {
    console.log(response.headers)
    console.log(response.data)
  })
  .catch(function(error) {
    console.error(error)
  })

答案 2 :(得分:0)

Spring框架为CORS提供了一流的支持。必须在Spring Security之前处理CORS,因为飞行前请求将不包含任何cookie(即JSESSIONID)。如果请求中不包含任何cookie,并且首先使用Spring Security,则该请求将确定用户未通过身份验证(因为请求中没有cookie),并拒绝该用户。

确保首先处理CORS的最简单方法是使用CorsFilter。用户可以通过使用以下内容提供CorsConfigurationSource来将CorsFilter与Spring Security集成:

 browser
    .url('http://icreatehtml.co.uk/select.html')
    .waitForElementVisible('#pet-select')
     // Open the select list
    .click('#pet-select') 
    // Set the value using the visible text
    .click('xpath', `//select[@id='pet-select']//option[contains(text(),'Hamster')]`)
    // Close select list
    .click('body')
    .pause(3*1000)
    // Open the select list
    .click('#pet-select')
    // Set the value using the option value
    .click('#pet-select option[value="cat"]')
    // Close select list
    .click('body')
    .pause(3*1000)
    // Open the select list
    .click('#pet-select')
    // Set the value using a pseudo selector
    .click('#pet-select option:last-child')
    // Close select list
    .click('body')
    .end();