Axios: axios.post рд╡рд┐рдзрд┐ рдореЗрдВ рд╢реАрд░реНрд╖рд▓реЗрдЦ рдЬреЛрдбрд╝рдирд╛

рдХреЛ рдирд┐рд░реНрдорд┐рдд 24 рдЕрдкреНрд░реИрд▓ 2017  ┬╖  17рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: axios/axios

рдирдорд╕реНрддреЗ,

рдореИрдВрдиреЗ рдХреНрд░реЙрд╕-рдбреЛрдореЗрди рдЖрдИрдкреА рдХреЗ рд▓рд┐рдП рдПрдХ рдкреЛрд╕реНрдЯ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдФрд░ рдореЗрд░рд╛ рдХреЛрдб рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ;

  var authOptions = {
    method: 'POST',
    url: 'http://10.254.147.184:7777/auth/oauth/token',
    data: qs.stringify(data),
    headers: {
        'Authorization': 'Basic Y2xpZW50OnNlY3JldA==',
        'Content-Type': 'application/x-www-form-urlencoded'
    },
    json: true
  };
  return dispatch => {
    return axios(authOptions)
    .then(function(response){
      console.log(response.data);
      console.log(response.status);
    })
    .catch(function(error){
      console.log(error);
    });

рд▓реЗрдХрд┐рди рдЬрдм рднреА рдореИрдВ рдЗрд╕рдореЗрдВ ' рд╣реЗрдбрд░ ' рдЬреЛрдбрд╝рддрд╛ рд╣реВрдВ, рддреЛ рдореЗрд░рд╛ рдЕрдиреБрд░реЛрдз рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ 'рдкреЛрд╕реНрдЯ' рд╡рд┐рдзрд┐ рд╕реЗ 'рд╡рд┐рдХрд▓реНрдк' рдореЗрдВ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдХреНрдпреЛрдВред рдХреНрдпрд╛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдмрдЧ рд╣реИ рдпрд╛ рдХреБрдЫ рднреА рдЬреЛ рдореБрдЭреЗ рдирд╣реАрдВ рдорд┐рд▓рд╛?

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдореБрдЭреЗ рдЕрдкрдиреЗ CORS рдлрд╝рд┐рд▓реНрдЯрд░ рдореЗрдВ рдЕрдиреБрдордд рд╢реАрд░реНрд╖рд▓реЗрдЦреЛрдВ рдореЗрдВ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдЬреЛрдбрд╝рдирд╛ рдкрдбрд╝рд╛


@jffernandez

рдореБрдЭреЗ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рд╣реИред рдЬрдм рдореИрдВ рдСрде рд╣реЗрдбрд░ рдЫреЛрдбрд╝рддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдЕрдиреБрд░реЛрдз рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ рдЬреЛ рдкреЛрд╕реНрдЯ, рд╡рд┐рдХрд▓реНрдк рдФрд░ рдлрд┐рд░ рдкреЛрд╕реНрдЯ рджреЗрддрд╛ рд╣реИ рдЬреЛ 403 рджреЗрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рд╢реАрд░реНрд╖рд▓реЗрдЦ (рдЕрдкреЗрдХреНрд╖рд┐рдд) рдЧреБрдо рд╣реИред

рдЬрдм рдореИрдВ рд╣реЗрдбрд░ рдЬреЛрдбрд╝рддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ рдХреЗрд╡рд▓ рд╡рд┐рдХрд▓реНрдк рдЕрдиреБрд░реЛрдз рдорд┐рд▓рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдХрднреА рдкреЛрд╕реНрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

post("http://localhost:8080/foo", foo)

рдмрдирд╛рдо

post("http://localhost:8080/foo", foo, {
    headers: { Authorization: "Bearer " + token }
})

рд╕рднреА 17 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдпрд╣ рдХреЛрдИ рдмрдЧ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдЕрдкреЗрдХреНрд╖рд╛ рдХреЗ рдЕрдиреБрд░реВрдк рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред
рдЬреИрд╕рд╛ рдХрд┐ https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдореЗрдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЖрдк рдПрдХ рдкреВрд░реНрд╡-рдЙрдбрд╝рд╛рди рдЕрдиреБрд░реЛрдз (рдЖрд╕рд╛рди рдирд╣реАрдВ) рдЙрддреНрдкрдиреНрди рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдПрдХ рд╢реАрд░реНрд╖рд▓реЗрдЦ рдФрд░ рдПрдХ рд╕рд╛рдордЧреНрд░реА-рдкреНрд░рдХрд╛рд░ рдЬреЛрдбрд╝ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдЗрд╕реЗ рдордЬрдмреВрд░ рдХрд░рддрд╛ рд╣реИред
рдЗрд╕рд▓рд┐рдП, рдЗрд╕ рдореЛрдб рдореЗрдВ, рдЖрдкрдХреЗ рдореБрдЦреНрдп рдЕрдиреБрд░реЛрдз рд╕реЗ рдкрд╣рд▓реЗ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдЕрдиреБрд░реЛрдз рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЖрдкрдХреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рд╕рд░реНрд╡рд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд▓реНрдк рдЕрдиреБрд░реЛрдз рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдореБрдЭреЗ рдЕрдкрдиреЗ CORS рдлрд╝рд┐рд▓реНрдЯрд░ рдореЗрдВ рдЕрдиреБрдордд рд╢реАрд░реНрд╖рд▓реЗрдЦреЛрдВ рдореЗрдВ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдЬреЛрдбрд╝рдирд╛ рдкрдбрд╝рд╛


@jffernandez

рдореБрдЭреЗ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рд╣реИред рдЬрдм рдореИрдВ рдСрде рд╣реЗрдбрд░ рдЫреЛрдбрд╝рддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдЕрдиреБрд░реЛрдз рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ рдЬреЛ рдкреЛрд╕реНрдЯ, рд╡рд┐рдХрд▓реНрдк рдФрд░ рдлрд┐рд░ рдкреЛрд╕реНрдЯ рджреЗрддрд╛ рд╣реИ рдЬреЛ 403 рджреЗрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рд╢реАрд░реНрд╖рд▓реЗрдЦ (рдЕрдкреЗрдХреНрд╖рд┐рдд) рдЧреБрдо рд╣реИред

рдЬрдм рдореИрдВ рд╣реЗрдбрд░ рдЬреЛрдбрд╝рддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ рдХреЗрд╡рд▓ рд╡рд┐рдХрд▓реНрдк рдЕрдиреБрд░реЛрдз рдорд┐рд▓рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдХрднреА рдкреЛрд╕реНрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

post("http://localhost:8080/foo", foo)

рдмрдирд╛рдо

post("http://localhost:8080/foo", foo, {
    headers: { Authorization: "Bearer " + token }
})

рдпрд╣ рдПрдХ CORS рдореБрджреНрджрд╛ рд╣реИ, рдЕрдХреНрд╖ рдореЗрдВ рдирд╣реАрдВред рдХреГрдкрдпрд╛ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рд▓рд┐рдВрдХ @jffernandez рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ рдпрд╛ рдпрд╣рд╛рдВ рд╕рдорд╛рди рдореБрджреНрджреЛрдВ рдХреА рддрд▓рд╛рд╢ рдХрд░реЗрдВред

рд╣рд╛рдБ рдпрд╣ CORS рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рдореЗрд░реЗ рдЬреИрд╕реЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╢рд╛рдпрдж рдЕрдкрдиреЗ рдПрдкреАрдЖрдИ рд╕рд░реНрд╡рд░ рдореЗрдВ рдЕрдзрд┐рдХреГрдд рд╕рд╛рдордЧреНрд░реА-рдкреНрд░рдХрд╛рд░ рдЬреЛрдбрд╝рдирд╛ рднреВрд▓ рдЧрдП рд╣реИрдВред

рд╕реНрд╡реАрдХреГрдд рд╢реАрд░реНрд╖рд▓реЗрдЦ: рд╕рд╛рдордЧреНрд░реА-рдкреНрд░рдХрд╛рд░ рдФрд░ рдПрдХреНрд╕-рдЕрдиреБрд░реЛрдзрд┐рдд-рд╕рд╛рде
рдФрд░ рдЖрдкрдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдкреНрд░рд╛рдзрд┐рдХрд░рдгред

рдФрд░ рд╣рд╛рдВ, рд╡рд┐рдзрд┐ рд╡рд┐рдХрд▓реНрдк рдХреЛ рднреА рдЕрдиреБрдорддрд┐ рджреЗрдирд╛ рди рднреВрд▓реЗрдВред

axios({ method: 'POST', url: 'you http api here', headers: {autorizacion: localStorage.token}, data: { user: 'name' } })

рдпрд╛ рдпрджрд┐ рдЖрдк рдЗрд╕ CORS рддреНрд░реБрдЯрд┐ рдХреЛ рджреВрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЖрдк рдЕрдкрдиреЗ рдиреЛрдб рдореЗрдВ corsproxy рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдЖрдкрдХреЛ рдХреНрд░реЙрд╕ рдУрд░рд┐рдЬрд┐рдирд▓ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред рдЖрдк рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рд▓рд┐рдВрдХ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

https://github.com/gr2m/CORS-Proxy

````
рд╕рд╛рдЗрди рдЗрди = () => {
рдХрдВрд╕реЛрд▓.рд▓реЙрдЧ ('рд▓реЙрдЧрд┐рди рдХреНрд▓рд┐рдХ рдХрд┐рдпрд╛ рдЧрдпрд╛')
рдбреЗрдЯрд╛ рджреЗрдВ = JSON.stringify ({
рдкрд╛рд╕рд╡рд░реНрдб: this.state.password,
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо: this.state.email
})

axios.post('url', data, {
    headers: {
        'Content-Type': 'application/json',
    }
}
)

}
```

рдЗрд╕ рд╣реЗрдбрд░ рдХреЛ рдЬреЛрдбрд╝рдХрд░ рдЗрд╕реЗ рд╣рд▓ рдХрд░реЗрдВ

   axios.post('http://localhost/M-Experience/resources/GETrends.php',
      {
        firstName: this.name
      },
      {
        headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
      });

рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдореБрдЭреЗ рдЕрдкрдирд╛ POST рдЕрдиреБрд░реЛрдз рдкреНрд░рд╛рд░реВрдкрд┐рдд рдХрд░рдирд╛ рдкрдбрд╝рд╛

    var postData = {
      email: "[email protected]",
      password: "password"
    };

    let axiosConfig = {
      headers: {
          'Content-Type': 'application/json;charset=UTF-8',
          "Access-Control-Allow-Origin": "*",
      }
    };

    axios.post('http://<host>:<port>/<path>', postData, axiosConfig)
    .then((res) => {
      console.log("RESPONSE RECEIVED: ", res);
    })
    .catch((err) => {
      console.log("AXIOS ERROR: ", err);
    })

рдХреЙрд░реНрд╕ рдПрд░рд░ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╕ рдЗрд╕ рдХрдорд╛рдВрдб рдХреЛ рдЪрд▓рд╛рдПрдБ npm i --save cors рдФрд░ рдлрд┐рд░ рдЕрдкрдиреЗ app.js рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдЗрдореНрдкреЛрд░реНрдЯ рдХрд░реЗрдВ

var cors = рдЖрд╡рд╢реНрдпрдХрддрд╛ ('cors');
рдлрд┐рд░ рдЙрд╕реА рдлрд╛рдЗрд▓ рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЙрд▓ рдХрд░реЗрдВ рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдореЗрд░реА рд░реВрдЯ рдлрд╛рдЗрд▓ рд╣реИ app.js
рдРрдк.рдпреВрдЬ (рдХреЙрд░реНрд╕ ());

рдпрд╣ рдЖрдкрдХреЗ рдХреЛрд░ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд░реЗрдЧрд╛

@mirzaumersaleem рдореИрдВ cors рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ axios рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреЗ рдмреИрдХрдПрдВрдб рдкрд░ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдореБрдЭреЗ 400 рдЦрд░рд╛рдм рдЕрдиреБрд░реЛрдз рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ

рднреНрд░реВрдг cors рдХреЗ рд╕рд╛рде рдХрд░ рд╕рдХрддрд╛ рд╣реИ (рдмреИрдХрдПрдВрдб рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ), рд▓реЗрдХрд┐рди axios рдХреЗ рд╕рд╛рде, рдХрднреА-рдХрднреА рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдХреЙрд░реНрд╕ рдПрд░рд░ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╕ рдЗрд╕ рдХрдорд╛рдВрдб рдХреЛ рдЪрд▓рд╛рдПрдБ npm i --save cors рдФрд░ рдлрд┐рд░ рдЕрдкрдиреЗ app.js рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдЗрдореНрдкреЛрд░реНрдЯ рдХрд░реЗрдВ

var cors = рдЖрд╡рд╢реНрдпрдХрддрд╛ ('cors');
рдлрд┐рд░ рдЙрд╕реА рдлрд╛рдЗрд▓ рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЙрд▓ рдХрд░реЗрдВ рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдореЗрд░реА рд░реВрдЯ рдлрд╛рдЗрд▓ рд╣реИ app.js
рдРрдк.рдпреВрдЬ (рдХреЙрд░реНрд╕ ());

рдпрд╣ рдЖрдкрдХреЗ рдХреЛрд░ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд░реЗрдЧрд╛

рдореЗрд░реА рдпрд╛рддреНрд░рд╛ рдореЗрдВ, рд╕рд░реНрд╡рд░ рдкрд░ CORS рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (.net /java/node/php рдЖрджрд┐..)

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдореБрдЭреЗ рдЕрдкрдиреЗ CORS рдлрд╝рд┐рд▓реНрдЯрд░ рдореЗрдВ рдЕрдиреБрдордд рд╢реАрд░реНрд╖рд▓реЗрдЦреЛрдВ рдореЗрдВ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдЬреЛрдбрд╝рдирд╛ рдкрдбрд╝рд╛

@jffernandez

рдореБрдЭреЗ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рд╣реИред рдЬрдм рдореИрдВ рдСрде рд╣реЗрдбрд░ рдЫреЛрдбрд╝рддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдЕрдиреБрд░реЛрдз рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ рдЬреЛ рдкреЛрд╕реНрдЯ, рд╡рд┐рдХрд▓реНрдк рдФрд░ рдлрд┐рд░ рдкреЛрд╕реНрдЯ рджреЗрддрд╛ рд╣реИ рдЬреЛ 403 рджреЗрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рд╢реАрд░реНрд╖рд▓реЗрдЦ (рдЕрдкреЗрдХреНрд╖рд┐рдд) рдЧреБрдо рд╣реИред

рдЬрдм рдореИрдВ рд╣реЗрдбрд░ рдЬреЛрдбрд╝рддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ рдХреЗрд╡рд▓ рд╡рд┐рдХрд▓реНрдк рдЕрдиреБрд░реЛрдз рдорд┐рд▓рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдХрднреА рдкреЛрд╕реНрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

post("http://localhost:8080/foo", foo)

рдмрдирд╛рдо

post("http://localhost:8080/foo", foo, {
    headers: { Authorization: "Bearer " + token }
})

рддреНрд╡рд░рд┐рдд рдЙрддреНрддрд░ рдпрд╣ рд╣реИ рдХрд┐ url рдХреЗ рдмрд╛рдж рдкрд╣рд▓рд╛ рддрд░реНрдХ рдФрд░ рджреВрд╕рд░рд╛ рдЕрдХреНрд╕рд░ рдЧрд▓рдд рд╕реНрдерд╛рди рдкрд░ рд╣реЛрддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд axios(url, data, config), рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк рдХреЙрдиреНрдлрд┐рдЧ рднрд╛рдЧ рдпрд╛ рд╕реНрд╡рд┐рдЪ рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдХреЛ рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВ рдФрд░ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЖрдкрдХреЛ рд╢рд╛рдпрдж рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓рддреЗ рд╣реИрдВ, рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдмрд┐рдирд╛ рдХрд┐рд╕реА рдореБрджреНрджреЗ рдХреЗред

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣ рдмрд╣реБрдд рдкрдардиреАрдп рдирд╣реАрдВ рд╣реИ

axios.request (рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди)
axios.get(url[, config])
axios.delete(url[, config])
axios.head(url[, config])
axios.options(url[, config])
axios.post(url[, data[, config]])
axios.put(url[, data[, config]])
axios.patch(url[, data[, config]])

рдореБрдЭреЗ рдЙрдореНрдореАрдж рдереА рдХрд┐ рд╕рднреА рдПрдкреАрдЖрдИ рд╕реБрд╕рдВрдЧрдд рд╣реИрдВ, рдФрд░ рд╣реИ
1) рдкрд╣рд▓реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдпреВрдЖрд░рдПрд▓,
2) рджреВрд╕рд░реЗ рдкреИрд░рд╛рдореАрдЯрд░ (рд╡реИрдХрд▓реНрдкрд┐рдХ) рдХреЗ рд░реВрдк рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ,
3) рдбреЗрдЯрд╛ (рд╡реИрдХрд▓реНрдкрд┐рдХ)

рдХрд╛рд░рдг рдпрд╣реА рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рдХреЗ рдмрд╛рд╡рдЬреВрдж, axios рдиреЗ рдЙрд╕ рдЫреЛрдЯреЗ рд╕реЗ рдПрдкреАрдЖрдИ рдирд┐рд░реНрдгрдп рд╕реЗ рдПрдХ рдмрдбрд╝реА рд╕рдорд╕реНрдпрд╛ рдмрдирд╛рдИ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдХрд┐ рд▓рдЧрднрдЧ рд╣рд░ рдХреЛрдИ рдЬреАрд╡рди рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдмрд╛рд░ рд╡рд╣рд╛рдВ рдлрдВрд╕ рдЧрдпрд╛ред

рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛:

`
рдХреЙрдиреНрд╕реНрдЯ рд╣реЗрдбрд░ = {
'рд╕рд╛рдордЧреНрд░реА-рдкреНрд░рдХрд╛рд░': 'рдПрдкреНрд▓рд┐рдХреЗрд╢рди/рдЬреЗрд╕рди',
'рдкреНрд░рд╛рдзрд┐рдХрд░рдг': 'JWT fefege...'
}

axios.post(Helper.getUserAPI(), рдбреЗрдЯрд╛, {
рд╢реАрд░реНрд╖рд▓реЗрдЦ: рд╢реАрд░реНрд╖рд▓реЗрдЦ
})
рддрдм ((рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛) => {
рдкреНрд░реЗрд╖рдг({
рдкреНрд░рдХрд╛рд░: FOUND_USER,
рдбреЗрдЯрд╛: рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ред рдбреЗрдЯрд╛ [0]
})
})
рдХреИрдЪ ((рддреНрд░реБрдЯрд┐) => {
рдкреНрд░реЗрд╖рдг({
рдкреНрд░рдХрд╛рд░: ERROR_FINDING_USER
})
})
`

Jquery рдХреЗ рд╕рд╛рде рдпрд╣рд╛рдВ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдЕрдиреБрд░реЛрдз рд╕рдлрд▓ рд╣реЛрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВ axios рдХреЗ рд╕рд╛рде cors рд╕рдорд╕реНрдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд┐рдХ рднреЗрдЬрддрд╛ рд╣реВрдВред
рдореЗрд░рд╛ рдЕрдиреБрд░реЛрдз--

      .post('https://test.pi.com/j_spring_security_check', {

        withCredentials: true,
        crossorigin: true,
        headers: {
          common:{
            'Content-Type': 'application/json',
            'Accept': 'application/json',
            'WithCredentials': true,
            'Access-Control-Allow-Origin': '*'
        }
      },
        data: JSON.stringify({
          j_username: email,
          j_password: password
        }),

        // proxy: {
        //   '/j_spring_security_check/*': 'https://devtest.pvai.com/j_spring_security_check',
        // }
      })

рдпреЗ рд╕рд░реНрд╡рд░ рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╢реАрд░реНрд╖рд▓реЗрдЦ рд╣реИрдВ рдФрд░ рдореЗрд░реЗ рд▓реЛрдХрд╣реЛрд╕реНрдЯ рдореВрд▓ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ рдЬреЛ рд╢реАрд░реНрд╖рд▓реЗрдЦ рдореИрдВ рднреЗрдЬ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреА рднреА рдЕрдиреБрдорддрд┐ рд╣реИред

access-control-allow-credentials: true
access-control-allow-headers: Authorization, X-Requested-With, X-HTTP-Method-Override, Content-Type, Accept
access-control-allow-methods: POST, GET, OPTIONS
access-control-allow-origin: http://localhost:5000
access-control-expose-headers: Authorization
cache-control: no-cache, no-store, max-age=0, must-revalidate
content-length: 0
date: Wed, 11 Dec 2019 04:53:25 GMT
expires: 0
location: /authFailure
pragma: no-cache
status: 302
strict-transport-security: max-age=31536000 ; includeSubDomains
x-content-type-options: nosniff
x-frame-options: SAMEORIGIN
x-xss-protection: 1; mode=block

рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдореБрдЭреЗ рдЕрдкрдирд╛ POST рдЕрдиреБрд░реЛрдз рдкреНрд░рд╛рд░реВрдкрд┐рдд рдХрд░рдирд╛ рдкрдбрд╝рд╛

    var postData = {
      email: "[email protected]",
      password: "password"
    };

    let axiosConfig = {
      headers: {
          'Content-Type': 'application/json;charset=UTF-8',
          "Access-Control-Allow-Origin": "*",
      }
    };

    axios.post('http://<host>:<port>/<path>', postData, axiosConfig)
    .then((res) => {
      console.log("RESPONSE RECEIVED: ", res);
    })
    .catch((err) => {
      console.log("AXIOS ERROR: ", err);
    })

рдзрдиреНрдпрд╡рд╛рдж, рдореЗрд░рд╛ рджрд┐рди рдмрдЪрд╛ рд▓рд┐рдпрд╛! рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

Shu-Ji picture Shu-Ji  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

emaincourt picture emaincourt  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

StefH picture StefH  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

c0debreaker picture c0debreaker  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

9tor picture 9tor  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ