Axios: Axios рдореЗрдВ рдбреЗрдЯрд╛ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде

рдХреЛ рдирд┐рд░реНрдорд┐рдд 21 рдирд╡ре░ 2017  ┬╖  62рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: axios/axios

рдореИрдВ рд╡реЗрдм рдПрдкреАрдЖрдИ рдкрд░ рдбреЗрдЯрд╛ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ
рд╡рд░ рдкрд░рдо = {
рддрд░реНрдХ: {
myStringVal: '979251e4-6c9f-460d-ba32-1b6fe58ce8a3'
}
};

рдЕрдХреНрд╖({
рд╡рд┐рдзрд┐: 'рдкреЛрд╕реНрдЯ',
рдпреВрдЖрд░рдПрд▓: 'рдПрдкреАрдЖрдИ/рдПрдкреНрд▓рд┐рдХреЗрд╢рди/рдПрдХреНрд╢рди/рдорд╛рдИрд╡реЗрдмрдПрдкреАрдЖрдИрдореЗрдереЛрдб',
рдбреЗрдЯрд╛: JSON.stringify (рдкрд░рдо),
});

рдФрд░ рдореЗрд░рд╛ рд╡реЗрдм рдПрдкреАрдЖрдИ рдХреЛрдб рдЗрд╕ рддрд░рд╣ рд╣реИ:
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╡рд░реНрдЧ MyClassVM
{
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ myStringVal {рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ; рд╕реЗрдЯ; }
}
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕рдВрджреЗрд╢VMMyWebAPIMethod(MyClassVM args){
// рдореЗрд░рд╛ рдХреЛрдб рдпрд╣рд╛рдБ рдЬрд╛рддрд╛ рд╣реИ
}

рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ: рдЬрдм рдореИрдВ myStringVal рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ: '979251e4-6c9f-460d-ba32-1b6fe58ce8a3' рдпрд╣ рдореБрдЭреЗ рд╡реЗрдм рдПрдкреАрдЖрдИ [args.myStringVal = null] рдореЗрдВ рд╢реВрдиреНрдп рджреЗрддрд╛ рд╣реИред

рдореИрдВ axios POST рдореЗрдВ рдорд╛рди рдХреИрд╕реЗ рдкрд╛рд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рдзрдиреНрдпрд╡рд╛рдж

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

рдореИрдВрдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ AJAX рдХрд╛рдо рдХреЗ рд▓рд┐рдП jQuery рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ Axios рдХреА рдУрд░ рдмрдврд╝рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ рд╣реИ, рд╕рд┐рд░реНрдл рдЗрд╕рд▓рд┐рдП рдХрд┐ рдпрд╣ рд╕рднреА рдХреНрд░реЛрдз рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдореИрдВ рдпрд╣ рдЬрд╛рдирдХрд░ рдЪреМрдВрдХ рдЧрдпрд╛ рдХрд┐ рдореИрдВ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкреЛрд╕реНрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред

рддреЛ, рдпрд╣рд╛рдВ рдореИрдВрдиреЗ рдкрд╣рд▓реА рдмрд╛рд░ рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ:

axios.post('/api/event/item', {
    event_id: eventId,
    item_id: itemId,
    description: description
  })
  .catch(function (error) {
    console.log(error);
  });

рдмреИрдХрдПрдВрдб рдкрд░ (PHP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) $_POST рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЦрд╛рд▓реА рдерд╛ред рддреЛ рдореИрдВрдиреЗ рдХреБрдЫ рдЧреБрдЧрд▓ рдХрд┐рдпрд╛, рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рдкреЙрд▓реАрдлрд┐рд▓ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд╕рд╛рде, рд╢реНрд╡рд╛рд╕):

const params = new URLSearchParams();
params.append('event_id', eventId);
params.append('item_id', itemId);
params.append('description', description);
axios({
  method: 'post',
  url: '/api/event/item',
  data: params
});

рдпрд╣ рд╕рд╣реА рд╣реИред рддреЛ рдореБрдЭреЗ URLSearchParams рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ? рдЦреИрд░ рдпрд╣ рдирд┐рд░рд╛рд╢рд╛рдЬрдирдХ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдмрддрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдкрд╣рд▓реА рд╡рд┐рдзрд┐ рдХреЛ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдХрд┐рд╕реА рдФрд░ рдХреЛ рдпрд╣ рдкрд░реЗрд╢рд╛рдиреА рд╣реЛ рд░рд╣реА рд╣реИ?

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

@ awais-ilyas, рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЖрдк рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ POST рдкреЗрд▓реЛрдб рдХреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд░реЗрдВрдЧреЗред рдЗрд╕реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реЗ:

...
axios({
method: 'post',
url: 'api/Application/Action/MyWebAPIMethod',
data: args,
});
...

рдЬрд┐рд╕реЗ рдкреЛрд╕реНрдЯ рдмреЙрдбреА рдореЗрдВ data рд╕реЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореИрдВрдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ AJAX рдХрд╛рдо рдХреЗ рд▓рд┐рдП jQuery рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ Axios рдХреА рдУрд░ рдмрдврд╝рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ рд╣реИ, рд╕рд┐рд░реНрдл рдЗрд╕рд▓рд┐рдП рдХрд┐ рдпрд╣ рд╕рднреА рдХреНрд░реЛрдз рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдореИрдВ рдпрд╣ рдЬрд╛рдирдХрд░ рдЪреМрдВрдХ рдЧрдпрд╛ рдХрд┐ рдореИрдВ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкреЛрд╕реНрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред

рддреЛ, рдпрд╣рд╛рдВ рдореИрдВрдиреЗ рдкрд╣рд▓реА рдмрд╛рд░ рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ:

axios.post('/api/event/item', {
    event_id: eventId,
    item_id: itemId,
    description: description
  })
  .catch(function (error) {
    console.log(error);
  });

рдмреИрдХрдПрдВрдб рдкрд░ (PHP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) $_POST рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЦрд╛рд▓реА рдерд╛ред рддреЛ рдореИрдВрдиреЗ рдХреБрдЫ рдЧреБрдЧрд▓ рдХрд┐рдпрд╛, рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рдкреЙрд▓реАрдлрд┐рд▓ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд╕рд╛рде, рд╢реНрд╡рд╛рд╕):

const params = new URLSearchParams();
params.append('event_id', eventId);
params.append('item_id', itemId);
params.append('description', description);
axios({
  method: 'post',
  url: '/api/event/item',
  data: params
});

рдпрд╣ рд╕рд╣реА рд╣реИред рддреЛ рдореБрдЭреЗ URLSearchParams рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ? рдЦреИрд░ рдпрд╣ рдирд┐рд░рд╛рд╢рд╛рдЬрдирдХ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдмрддрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдкрд╣рд▓реА рд╡рд┐рдзрд┐ рдХреЛ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдХрд┐рд╕реА рдФрд░ рдХреЛ рдпрд╣ рдкрд░реЗрд╢рд╛рдиреА рд╣реЛ рд░рд╣реА рд╣реИ?

@dlgoodchild рдХреНрдпрд╛ рдЖрдк рдЗрд╕реЗ рдлреЙрд░реНрдо рдбреЗрдЯрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рднреЗрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рдореЗрд░рд╛ рдкреЛрд╕реНрдЯ рдмреЙрдбреА рднреА рдЦрд╛рд▓реА рдерд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдЗрд╕реЗ рдХрд┐рд╕реА рдлреЙрд░реНрдо рдХреА рддрд░рд╣ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рдирд╛ рдкрдбрд╝рд╛:

   ...
      data: params,
      transformRequest: [
        function(data, headers) {
          const serializedData = []

          for (const k in data) {
            if (data[k]) {
              serializedData.push(`${k}=${encodeURIComponent(data[k])}`)
            }
          }

          return serializedData.join('&')
        }
      ],
   ...

рд╕рд╣рдордд, POST рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИред

рдЖрд╣ рдЕрдЪреНрдЫрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг! рдпрд╣рд╛рдВ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд╛рдн рдХреЗ рд▓рд┐рдП, рдЕрдВрдд рдореЗрдВ рдореИрдВрдиреЗ рдЗрд╕реЗ 3 рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд╛рдо рдХрд┐рдпрд╛:

  1. рдлреЙрд░реНрдордбрд╛рдЯрд╛
  2. URLSearchParams
  3. querystring.stringify (рдиреЛрдб рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛)

рдкрд╣рд▓реЗ 2 рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕рдВрдЧрддрддрд╛ рд╣реИ (caniuse.com рд╕реЗ рдЬрд╛рдВрдЪреЗрдВ)ред рдЕрдВрддрд┐рдо рдПрдХ рдФрд░ рдирд┐рд░реНрднрд░рддрд╛ рд╣реИред

рдореБрдЭреЗ transformRequest рд╡рд┐рдХрд▓реНрдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рдирд╣реАрдВ рдерд╛, рдпрд╣ рдЕрдЪреНрдЫрд╛ рд▓рдЧ рд░рд╣рд╛ рд╣реИ рдФрд░ рдпрд╣ рдПрдХ рдмрдврд╝рд┐рдпрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИ рдпрджрд┐ рдЖрдк рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдХрдо рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдХреНрд░реЙрд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рд▓реЗрдЦрди рд╡рд╣ рд╣реИ рдЬреЛ рдХрдИ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХреНрд╕рд┐рдпреЛрд╕ рдХреЛ рдирд┐рд░рд╛рд╢ рдХрд░рддрд╛ рд╣реИред Axios рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ POST рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд StackOverflow рдкреНрд░рд╢реНрдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдВрдХреЗрдд рд╣реИ рдХрд┐ рдХрд╣реАрдВ рди рдХрд╣реАрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рд╣реИ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рдЧрд▓рддрдлрд╣рдореА рд╣реИред

рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ - рдЕрдиреБрд╕рдВрдзрд╛рди рдкрд░ рдХреБрдЫ рдШрдВрдЯреЗ рдмрд┐рддрд╛рдП, рдЕрдВрдд рдореЗрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдкрд╛рдпрд╛ред рд╡рд┐рдЪрд╛рд░: рдкреЛрд╕реНрдЯ рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдирд┐рд░реНрднрд░рддрд╛ рдпрд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдлрд┐рд░ рд╕реЗ AngularJS 1 рдЬреИрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИред рдореИрдВ рдЕрднреА рдХреЗ рд▓рд┐рдП рдЗрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреВрдВрдЧрд╛ред

@ рдпреВрд░реА-рд╡рд╛рдЗрдЬрд╕реНрдЯреИрдореНрдк рдЕрдзрд┐рдХ рд╕рд╣рдордд рдирд╣реАрдВ рд╣реЛ рд╕рдХрд╛, рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рдЕрдЬреАрдм/рдЕрд╕рд╛рдорд╛рдиреНрдп рдбрд┐рдЬрд╛рдЗрди рд╡рд┐рдХрд▓реНрдк рд╣реИред рдореИрдВрдиреЗ рдЬреНрдпрд╛рджрд╛рддрд░ рдЕрдм рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╢реБрд░реБрдЖрдд рд╕реЗ рд╣реА рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреА рдХрдореА рдХреЗ рдХрд╛рд░рдг рдореИрдВрдиреЗ рдЗрд╕реЗ рдбрд┐рдмрдЧ рдХрд░рдирд╛ рдЦреЛ рджрд┐рдпрд╛ рдерд╛ред

Axios рдФрд░ PHP рдХреЗ рд╕рд╛рде рдкреЛрд╕реНрдЯ рдХрд░рдирд╛ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдГрд╕реНрд╡рдкреНрди рд╣реИ!

рдореИрдВрдиреЗ рджреЛ рдШрдВрдЯреЗ рдмрд┐рддрд╛рдП, рдХреЛрдИ рдирддреАрдЬрд╛ рдирд╣реАрдВ рдирд┐рдХрд▓рд╛ ...

рдЧреИрд░-рдлреЙрд░реНрдо-рдПрдиреНрдХреЛрдбреЗрдб рдкреЛрд╕реНрдЯ PHP рдореЗрдВ $_POST рдкреЙрдкреНрдпреБрд▓реЗрдЯ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдЖрдкрдХреЛ рдкреЛрд╕реНрдЯ рдмреЙрдбреА рдХреЛ рдкрдврд╝рдирд╛ рд╣реЛрдЧрд╛:

$body = file_get_contents('php://input');

рдпрджрд┐ рдЖрдк рдЬреЗрд╕рди рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВ:

$json=json_decode($body);

рдпрд╣ рдХреЛрдб:

axios = require('axios');

var param = {
   args: {
      myStringVal: '979251e4-6c9f-460d-ba32-1b6fe58ce8a3'
   }
};

axios({
   method: 'post',
   url: 'http://home.test/post.php',
   data: param,
});

рдЗрд╕рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕рд░реНрд╡рд░ рдореЗрдВ:

<?php

$entityBody = file_get_contents('php://input');

file_put_contents(__DIR__ . '/output.txt', print_r(json_decode($entityBody), true));

рдЗрд╕ рдЖрдЙрдЯрдкреБрдЯ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд┐рдпрд╛:

stdClass Object
(
    [args] => stdClass Object
        (
            [myStringVal] => 979251e4-6c9f-460d-ba32-1b6fe58ce8a3
        )

)

рдореИрдВрдиреЗ рдЕрдкрдирд╛ рдореБрджреНрджрд╛ рдЗрд╕ рддрд░рд╣ рддрдп рдХрд┐рдпрд╛:

рд╕рд╛рдордиреЗ

тЬЛuserSearchParams() рд╣рд░ рдЬрдЧрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ ( https://caniuse.com/#search =URLSearchParams() )

        let params = new URLSearchParams();
        params.append('email', this.email );
        params.append('url', userInfo.url );
        this.$http.post(
          'http://localhost:9999/api/record.php', params
          )
        .then((response) => {
          if (response.data.message === "success" )  this.$router.push( 'thankyou' );
        })
        .catch( (error) =>   console.log(error) ) ;

рдкреАрдЫреЗ

print_r( $_POST ); 

// $_POST['email'] = '[email protected]'
// $_POST['url'] = 'http://google.fr'

рдореБрдЭреЗ qs рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдХреЗ рдореЗрд░рд╛ рдХрд╛рдо рдорд┐рд▓ рдЧрдпрд╛ред

          import qs from "qs";


        const params = {
            name: "User",
            startTime: "2:00PM",
            endTime: "3:00PM",
            status: "pending",
            invitation: "test",
        };

        axios.post("DOMAIN/event/new", qs.stringify(params))
            .then((response) => {
                console.log(response);
            })
            .catch((error) => {
                console.log(error);
            });

@ рд▓реЗрдЬрд┐рдо рдзрдиреНрдпрд╡рд╛рдж! рдореБрдЭреЗ рдореЗрд░рд╛ рдХрд╛рдо qs.stringify рдХреЗ рд╕рд╛рде рдорд┐рд▓ рдЧрдпрд╛ рд╣реИ! рдзрд┐рдХреНрдХрд╛рд░ рд╣реИ рдореИрдВ axios рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрдВрдж рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдЕрдкрдиреЗ POST рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдорд┐рд▓рд╛!

рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж!

рдореБрдЭреЗ рдмрд╛рд╣рд░реА рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдмреЗрд╣рддрд░ рд╕рдорд╛рдзрд╛рди рдорд┐рд▓рд╛ред рдкреЛрд╕реНрдЯ рдЕрдиреБрд░реЛрдз рд╣реИрдбрд░ рдлреЙрд░реНрдо рдореЗрдВ рд╕реЗрдЯ рд╣реИред рдпрджрд┐ рдЖрдк JSON рдСрдмреНрдЬреЗрдХреНрдЯ рднреЗрдЬ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдЖрдкрдХреЛ рд╣реЗрдбрд░ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛

        const params = {
            name: "User",
            startTime: "2:00PM",
            endTime: "3:00PM",
            status: "pending",
            invitation: "test",
        };

axios.post('DOMAIN/event/new', params, {
     headers: {
          'content-type': 'application/json',
     },
})

@Legym рдмрд╣реБрдд-рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж!

рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдордЭ рдирд╣реАрдВ рдкрд╛ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдкреЛрд╕реНрдЯ рдХреНрдпреЛрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд▓реЗрдЬрд┐рдо рдХреЗ рд╣реЗрдбрд░ рдЗрд╕реЗ рдореЗрд░реЗ рд▓рд┐рдП рдареАрдХ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред
jQuery рдиреЗ рдкрд╣рд▓реЗ рдХрд╛рдо рдХрд┐рдпрд╛, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИред

URLSearchParams рджреГрд╖реНрдЯрд┐рдХреЛрдг macOS рдореЗрдВ Safari рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдХреНрдпрд╛ рдХреЛрдИ рдПрдХреНрд╕рд┐рдпреЛрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдлрд╝рд╛рдЗрд▓ рдФрд░ рдбреЗрдЯрд╛ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ?
рдореИрдВ PHP рдХреЗ Laravel рдврд╛рдВрдЪреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБред

@latanoil рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ, axios рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЙрд▓реНрдЯрд╛ рдирд╣реАрдВ рд╣реИред рдПрдХ рд╕рд░рд▓, рдмреЗрд╣рддрд░ рд╕рдорд░реНрдерд┐рдд, рдмреЗрд╣рддрд░ рдкреНрд░рд▓реЗрдЦрд┐рдд рдЕрдЬрд╛рдХреНрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕реЗ рдЪрд┐рдкрдХреЗ рд░рд╣рдирд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИред Jquery рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдпрд╣рд╛рдВ рдХреЛрдИ рднреА рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рдорд┐рд▓реЗрдЧреАред

рд╕рд▓рд╛рд╣ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж @dlgoodchild ред рдореИрдВ рдЕрдм рдХреБрдЫ рджрд┐рдиреЛрдВ рд╕реЗ рдЗрд╕рд╕реЗ рдЬреВрдЭ рд░рд╣рд╛ рд╣реВрдВред рдореИрдВ рд╕рд┐рд░реНрдл jQuery рдХреЗ рд╕рд╛рде рд░рд╣реВрдВрдЧрд╛ред

axios({
  method: 'post',
  url: 'http://blahblahblah',
  params: {
    key1: value1,
    key2: value2
  }
})

рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░реЗрдВ, _params_ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, _data_ рдХрд╛ рдирд╣реАрдВ

LOL рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдирд╣реАрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдХрд╛рдо рдХрд░рдирд╛ рдЗрддрдирд╛ рдХрдард┐рди рдерд╛ред

рдХреБрдЫ _рдпрд╣_ рдореВрд▓, _рдпрд╣_ ... _рд╕рд╛рдорд╛рдиреНрдп_, рдХрдард┐рди рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

@HellsingMatt рдирд╣реАрдВ, рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ $_GET рдХреЗ рд╕рд╛рде рднреНрд░рдорд┐рдд рдХрд┐рдпрд╛ рд╣реЛред рдХреНрдпреЛрдВрдХрд┐ 'рдкрд░рдореНрд╕' рд╡рд╣ рд╣реИ рдЬреЛ рдореИрдВ рдЗрд╕реЗ рдЬреАрдИрдЯреА рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рддрд╛ рдерд╛ред рд▓реЗрдХрд┐рди рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП POST рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред

@mallocine рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рдореИрдВ node.js . рдореЗрдВ POST рдХреЗ рд╕рд╛рде _params_ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ

@ рд╣реЗрд▓рд╕рд┐рдВрдЧрдореИрдЯ рдареАрдХ рд╣реИред рдореИрдВ PHP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ axios рдкреВрд░реА рддрд░рд╣ рд╕реЗ PHP рдХреЗ рд╕рд╛рде рдЧрдбрд╝рдмрдбрд╝ рдХрд░ рджреЗрддрд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдк PHP рдмреИрдХрдПрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

@mallocine рдиреЗ рдЕрднреА рддрдХ PHP рдХрднреА рдирд╣реАрдВ рд╕реАрдЦрд╛, рдореЗрд░реЗ рд╕рднреА рдмреИрдХрдПрдВрдб node.js рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ

рдореИрдВ PHP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБред рдХреЛрдИ рдмрд╛рдд рдирд╣реАрдВред
рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдореБрдЭреЗ рдЬреЗрд╕рди (рдЖрдорддреМрд░ рдкрд░) рдЪрд╛рд╣рд┐рдП, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рддрджрдиреБрд╕рд╛рд░ рд╣реЗрдбрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ред рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЬрд╣рд╛рдВ рдореИрдВ $_POST рдЖрдмрд╛рджреА рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдореИрдВ рдПрдХ рдХреНрд╡реЗрд░реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдХрдирд╡рд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП qs рдпрд╛ рдореЗрд░реЗ рдЕрдкрдиреЗ рдЫреЛрдЯреЗ рд╕рд░рд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди (рдЬреЛ рд╕рднреА рдорд╛рдорд▓реЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓ рдирд╣реАрдВ рдкрд╛рдПрдЧрд╛ рд▓реЗрдХрд┐рди рдореЗрд░реЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ) рдЬреИрд╕реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред

рдРрд╕реЗ рд╣реА рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдкрд░ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдпрд╣ SO рдкреЛрд╕реНрдЯ рджреЗрдЦреЗрдВ: https://stackoverflow.com/a/1714899/6728516

рдПрдХреНрд╕рд┐рдпреЛрд╕ рдХреА рдЗрд╕ рд╡рд┐рдЪрд┐рддреНрд░рддрд╛ рдХреЛ рдореБрдЦреНрдп рджрд╕реНрддрд╛рд╡реЗрдЬ рдореЗрдВ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рд╡рд░реНрдгрдирд╛рддреНрдордХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдореБрдЭреЗ рдЖрдорддреМрд░ рдкрд░ JSON рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрддрдирд╛ рдЕрдзрд┐рдХ рдмрд╣реБрдореБрдЦреА рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рд╢рд╛рдпрдж рд╣реА рдХрднреА рдРрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдВред PHP рдореЗрдВ рдкреЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП JSON рдХреЛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП рдКрдкрд░ рдореЗрд░реА рдЯрд┐рдкреНрдкрдгреА рджреЗрдЦреЗрдВред

рдХреБрддреНрд╕рд┐рдд рдирд░рдХред

рдореИрдВ рдкреНрд░рдкрддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ рдПрдкреАрдЖрдИ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рддреЛрдбрд╝рдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдлрд╝реЙрд▓рдмреИрдХ рдЬреЛрдбрд╝рдирд╛ рдкрдбрд╝рд╛ред

if(empty($_POST['dep_date'])) {
    $body = file_get_contents('php://input');
    $json = json_decode($body, true);
    $_POST['dep_date'] = $json['dep_date'];
    .....

рд╕реМрднрд╛рдЧреНрдп рд╕реЗ рдореЗрд░реЗ рдкрд╛рд╕ PHP рдкрдХреНрд╖ рддрдХ рдкрд╣реБрдВрдЪ рдереА, рдЕрдЧрд░ рдпрд╣ рдХреБрдЫ рдмрд╛рд╣рд░реА рдПрдкреАрдЖрдИ рд╣реЛрдЧреА рддреЛ рдореИрдВ ┬з┬з┬з рд╣реЛрдЧрд╛ред Vue рдХреЗ рд▓рд┐рдП рд╕рднреА AJAX рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рддреЗ рд╕рдордп рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪреЗрддрд╛рд╡рдиреА рджреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП :)

рдпрд╣ "рдкреИрд░рд╛" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореЗрд░реЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдореИрдВ рдЗрд╕рдХреЗ рд╕рд╛рде PHP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрд╣ рдиреЗрдЯрд┐рд╡рд╕реНрдХреНрд░рд┐рдкреНрдЯ-рд╡реВ 2.0.0 рдХреЗ рдЕрдВрджрд░ рд╕реНрд╡рдпрдВрд╕рд┐рджреНрдз рд╣реИред

@HellsingMatt рдзрдиреНрдпрд╡рд╛рдж!

рдореБрдЭреЗ qs рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдХреЗ рдореЗрд░рд╛ рдХрд╛рдо рдорд┐рд▓ рдЧрдпрд╛ред

          import qs from "qs";


        const params = {
            name: "User",
            startTime: "2:00PM",
            endTime: "3:00PM",
            status: "pending",
            invitation: "test",
        };

        axios.post("DOMAIN/event/new", qs.stringify(params))
            .then((response) => {
                console.log(response);
            })
            .catch((error) => {
                console.log(error);
            });

рдкреА

рдХреГрдкрдпрд╛ рдЖрдк рд╕рднреА рдХреЙрд░реНрд╕ рд╣реЗрдбрд░ рдФрд░ рд╕рд╛рдордЧреНрд░реА рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рд╛рде PHP рдмреИрдХрдПрдВрдб рдХреЛрдб рдкреЛрд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВ рджреЛрдиреЛрдВ axios рдФрд░ рд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ рджреЛрдиреЛрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдпрд╣ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдореЗрдВ рдЧрд▓рддреА рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкреИрд░рд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреЛрдИ рдбреЗрдЯрд╛ рдирд╣реАрдВ рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред рдореИрдВрдиреЗ рдЗрд╕реЗ рд╕рдордЭрдиреЗ рдореЗрдВ 2 рдШрдВрдЯреЗ рд▓рдЧрд╛рдП рд╣реИрдВ ((

 рдЕрдХреНрд╖({
 рд╡рд┐рдзрд┐: 'рдкреЛрд╕реНрдЯ',
 рдпреВрдЖрд░рдПрд▓: 'рдпреВрдЖрд░рдПрд▓',
 рдкреИрд░рд╛рдореНрд╕: {
 рдореМрд▓рд┐рдХ рдореВрд▓реНрдп
 }
 })

рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж рдбреЗрдирд┐рдпрд▓ред рддреБрдореНрд╣рд╛рд░реА рд╕рд╣рд╛рдпрддрд╛ рд╕рд░рд╛рд╣рдиреАрдп рд╣реИред рдореБрдЭреЗ рдмрддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж
рддреНрд░реБрдЯрд┐ред

рд╢рдирд┐рд╡рд╛рд░, 10 рдирд╡рдВрдмрд░, 2018 рдХреЛ рдкреВрд░реНрд╡рд╛рд╣реНрди 11:18 рдмрдЬреЗ рдбреЗрдирд┐рдпрд▓ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

рдпрд╣ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдореЗрдВ рдЧрд▓рддреА рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкреИрд░рд╛рдореНрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдирд╣реАрдВ
рдбреЗрдЯрд╛ рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред рдореИрдВрдиреЗ рдЗрд╕реЗ рд╕рдордЭрдиреЗ рдореЗрдВ 2 рдШрдВрдЯреЗ рд▓рдЧрд╛рдП рд╣реИрдВ ((

рдЕрдХреНрд╖({
рд╡рд┐рдзрд┐: 'рдкреЛрд╕реНрдЯ',
url: '/wp-admin/admin-ajax.php?action=data_fetch',
рдкреИрд░рд╛рдореНрд╕: {
рдореМрд▓рд┐рдХ рдореВрд▓реНрдп
}
})

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЯрд┐рдкреНрдкрдгреА рдХреА рдереАред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/axios/axios/issues/1195#issuecomment-437612819 , рдпрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe-auth/ApIWeUP45k17b70vsaT80KR1g_cxXcMvks5utyZzgaJpZM4Ql8j5
.

рдореИрдВрдиреЗ рдЕрдкрдирд╛ рдореБрджреНрджрд╛ рдЗрд╕ рддрд░рд╣ рддрдп рдХрд┐рдпрд╛:

рд╕рд╛рдордиреЗ

тЬЛuserSearchParams() рд╣рд░ рдЬрдЧрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ ( https://caniuse.com/#search =URLSearchParams() )

        let params = new URLSearchParams();
        params.append('email', this.email );
        params.append('url', userInfo.url );
        this.$http.post(
          'http://localhost:9999/api/record.php', params
          )
        .then((response) => {
          if (response.data.message === "success" )  this.$router.push( 'thankyou' );
        })
        .catch( (error) =>   console.log(error) ) ;

рдкреАрдЫреЗ

print_r( $_POST ); 

// $_POST['email'] = '[email protected]'
// $_POST['url'] = 'http://google.fr'

рдпрд╣ рдмрд╣реБрдд рдорджрдж рдХрд░рддрд╛ рд╣реИ, рдзрдиреНрдпрд╡рд╛рдж!

axios({
  method: 'post',
  url: 'http://blahblahblah',
  params: {
    key1: value1,
    key2: value2
  }
})

рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░реЗрдВ, _params_ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, _data_ рдХрд╛ рдирд╣реАрдВ

рдореЗрд░реЗ рд▓рд┐рдП рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдзрдиреНрдпрд╡рд╛рдж, рдмрд╣реБрдд рд╕рд╛рдл рджреГрд╖реНрдЯрд┐рдХреЛрдгред

рдореЗрд░реЗ рдкрд╛рд╕ рдмреЗрд╕ рдпреВрдЖрд░рдПрд▓ рдХреЗ рд╕рд╛рде рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдПрдХреНрд╕рд┐рдпреЛрд╕ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рд╣реИред

рдореИрдВ рдЙрд╕ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдкреЛрд╕реНрдЯ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рд╕рд╣реА рд╕реЗрдЯрдЕрдк рдХреНрдпрд╛ рд╣реИ?

рдпрд╣ рд╕рд╣реА рд╣реИ:

    axios({
        method: "post",
        url: "https://slack.com/api/chat.postMessage",
        params: {
            token: this.token,
            channel: this.channel,
            text: "Testing API"
        },
        transformRequest: [
            (data, headers) => {
                console.log("data-in-transform", data);
                delete headers.post["Content-Type"];
                return data;
            }
        ]
    });

рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛:

    ax = axios.create({
        baseURL: `https://slack.com/api/`,
        params: {
            token: this.token,
            channel: this.channel
        },
        withCredentials: false,
        transformRequest: [
            (data, headers) => {
                delete headers.post["Content-Type"];
                return data;
            }
        ]
    });
        this.ax.post("chat.postMessage", {
            withCredentials: false,
            params: {
                text: "Testing API"
            },
            transformRequest: [
                (data, headers) => {
                    console.log("data-in-transform", data);
                    delete headers.post["Content-Type"];
                    return data;
                }
            ]
        });

рдореИрдВрдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 15 рджрд┐рди рдмрд┐рддрд╛рдП :( рдпрд╣рд╛рдБ рдХреЛрдб рд╣реИ

 Axios({

        method: apiMethod,
        url: root_url, // Api URL
        data: (apiMethod === 'POST')? Qs.stringify(apiParams) : undefined, // API post parameters,
        params:(apiMethod === 'get')? apiParams : undefined, //API get params
        headers:{
          'Accept': 'application/json',
          'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
        },

    }).then(function (response) { // On Success
        console.log('Response', response.data );

        successCallback(response.status, response.data);
    })
    .catch(function (error) { // On Failure
        console.log('error', error);

        errorCallback(error.status, error.data);
    })
    .then(function () { // Always
        alwaysCallback(false);
    });

рдпрд╣ рдмрд╕ рднрдпрд╛рдирдХ рд╣реИред рд╕рд┐рд░реНрдл рдПрдХ POST рдЕрдиреБрд░реЛрдз рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрддрдиреА рд▓рдВрдмреА рдЪрд░реНрдЪрд╛ рдФрд░ рдЕрдВрдд рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрднреА рддрдХ рдХреЛрдИ рдареЛрд╕ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИред

рдореИрдВ рдПрдХ рд╣реА рдореБрджреНрджреЗ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдкрд╣рд▓реЗ рд╣реА 3 рджрд┐рди рдмрд┐рддрд╛ рдЪреБрдХрд╛ рд╣реВрдВред рд╕рдВрднрд╡ рд╕рднреА рд╕рдВрдпреЛрдЬрдиреЛрдВ рдФрд░ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдЕрднреА рднреА рдЦреБрдж рдХреЛ рдЙрд╕реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдкрд╛ рд░рд╣рд╛ рд╣реВрдВред рдЗрд╕рд▓рд┐рдП рдореЗрд░рд╛ рдмреИрдХрдПрдВрдб рднреА PHP рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдореБрдЭреЗ рднреА рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ axios рдореЗрдВ POST рдФрд░ PHP рд╕рдВрдпреЛрдЬрди рдХреЗ рд╕рд╛рде рдкреНрд░рдореБрдЦ рдореБрджреНрджреЗ рд╣реИрдВ, рдЬреЛ рдХрд┐ рдЕрд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИ !!

jQuery рдЗрди рдЪреАрдЬреЛрдВ рдХреЛ рдЕрд╕рд╛рдзрд╛рд░рдг рд░реВрдк рд╕реЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИ рдФрд░ рдореИрдВ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВред рдореИрдВ рд╕рд┐рд░реНрдл рдПрдХ рдкреЛрд╕реНрдЯ рдЕрдиреБрд░реЛрдз рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдирд┐рд░реНрднрд░рддрд╛ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛!

рд╕рд╛рде рд╣реА, рдереНрд░реЗрдб рдХреЛ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЙрдЪрд┐рдд рд╕рдорд╛рдзрд╛рди рдХреЗ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ !!

рдЗрд╕реЗ @awais-ilyas рджреНрд╡рд╛рд░рд╛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ рдЙрдиреНрд╣реЗрдВ рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╣рд╛рдВ! рд▓реЗрдХрд┐рди рдзрд╛рдЧрд╛ рдореБрдЭреЗ рдХрд╣реАрдВ рдирд╣реАрдВ рд▓реЗ рдЬрд╛рддрд╛ред JSON рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ PHP рдХреЛ POST рдЕрдиреБрд░реЛрдз рднреЗрдЬрдирд╛ рдЕрднреА рднреА рдПрдХ рджрд░реНрдж рд╣реИ! @dlgoodchild рдХреНрдпрд╛ рдЕрднреА рддрдХ рдХреЛрдИ рдХрд╛рдордХрд╛рдЬ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЗрд╕ рдзрд╛рдЧреЗ рдХреЗ рд▓рд┐рдП рджреЗрд░ рд╕реЗ рдЖрдиреЗ рд╡рд╛рд▓рд╛ рд╣реВрдВ?

рд╣рд╛рдБ @emfluenceindia рдЗрд╕ рдереНрд░реЗрдб рдореЗрдВ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ JSON рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

рдореИрдВрдиреЗ рдЙрдиреНрд╣реЗрдВ рджреЗрдЦрд╛ред рдХреНрдпрд╛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ JSON рдХреЗ рд░реВрдк рдореЗрдВ рдкреЛрд╕реНрдЯ рдХрд░рдирд╛ рдЕрднреА рднреА рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ?

рдпрд╣ рдзрд╛рдЧрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ JSON рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИред JSON рдХреЛ рдкреЛрд╕реНрдЯ рдмреЙрдбреА рдХреЗ рд░реВрдк рдореЗрдВ рдкреЛрд╕реНрдЯ рдХрд░рдирд╛ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдереНрд░реЗрдб рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ: рд╡рд┐рд╢реЗрд╖рддрд╛, рдЬреИрд╕реЗ рдХрд┐ jQuery рдХреЗ рд╕рд╛рде рдФрд░ рдХрд┐рд╕реА рддрд░рд╣ PHP рдореЗрдВ $_POST рдХреЛ рдкреЙрдкреНрдпреБрд▓реЗрдЯ рдХрд░рдирд╛ред

рдореИрдВрдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ AJAX рдХрд╛рдо рдХреЗ рд▓рд┐рдП jQuery рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ Axios рдХреА рдУрд░ рдмрдврд╝рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ рд╣реИ, рд╕рд┐рд░реНрдл рдЗрд╕рд▓рд┐рдП рдХрд┐ рдпрд╣ рд╕рднреА рдХреНрд░реЛрдз рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдореИрдВ рдпрд╣ рдЬрд╛рдирдХрд░ рдЪреМрдВрдХ рдЧрдпрд╛ рдХрд┐ рдореИрдВ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкреЛрд╕реНрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред

рддреЛ, рдпрд╣рд╛рдВ рдореИрдВрдиреЗ рдкрд╣рд▓реА рдмрд╛рд░ рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ:

axios.post('/api/event/item', {
    event_id: eventId,
    item_id: itemId,
    description: description
  })
  .catch(function (error) {
    console.log(error);
  });

рдмреИрдХрдПрдВрдб рдкрд░ (PHP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) $_POST рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЦрд╛рд▓реА рдерд╛ред рддреЛ рдореИрдВрдиреЗ рдХреБрдЫ рдЧреБрдЧрд▓ рдХрд┐рдпрд╛, рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рдкреЙрд▓реАрдлрд┐рд▓ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд╕рд╛рде, рд╢реНрд╡рд╛рд╕):

const params = new URLSearchParams();
params.append('event_id', eventId);
params.append('item_id', itemId);
params.append('description', description);
axios({
  method: 'post',
  url: '/api/event/item',
  data: params
});

рдпрд╣ рд╕рд╣реА рд╣реИред рддреЛ рдореБрдЭреЗ URLSearchParams рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ? рдЦреИрд░ рдпрд╣ рдирд┐рд░рд╛рд╢рд╛рдЬрдирдХ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдмрддрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдкрд╣рд▓реА рд╡рд┐рдзрд┐ рдХреЛ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдХрд┐рд╕реА рдФрд░ рдХреЛ рдпрд╣ рдкрд░реЗрд╢рд╛рдиреА рд╣реЛ рд░рд╣реА рд╣реИ?

рдореИрдВ рдЖрдЬ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдорд┐рд▓рд╛ рдФрд░ рдореИрдВрдиреЗ рдЗрд╕ рдкрд░ рд▓рдЧрднрдЧ рдкреВрд░рд╛ рджрд┐рди рдмрд┐рддрд╛рдпрд╛ред рдпрд╣ s weird because the document of axios told me to use first method which didn рдЯреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдзрдиреНрдпрд╡рд╛рдж, рднрд╛рдИ

рдХреНрдпрд╛ рддреБрдо рд▓реЛрдЧреЛрдВ рдиреЗ рд░рдЦрд╛
рдРрдк.рдпреВрдЬ (рдПрдХреНрд╕рдкреНрд░реЗрд╕.рдЬреЗрд╕рди ())
app.js рдкрд░?

рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:

const formData = new FormData();
formData.append('action', 'some-action');
formData.append('page', 1);

axios
  .post('/async/index.php', formData, {
    retry: 3,
    retryDelay: 100,
  })
  .then(res => {
    console.log('get', res.data);
  })
  .catch(console.log);

рдкреАрдПрдЪрдкреА

print_r($_POST);

рдЙрддреНрддрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╣реИред Axios рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ url-form-encoded рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

headers: {
  "Content-Type": "text/plain"
}

рдЗрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рднреА рд╕рдорд╛рдзрд╛рди рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛, рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдиреЛрдб.рдЬреЗрдПрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд░реАрдбрдореЗ рднреНрд░рд╛рдордХ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкреЛрд╕реНрдЯ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ_ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдСрдмреНрдЬреЗрдХреНрдЯ _3rd рддрд░реНрдХ_ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред .post рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдпрд╣ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИ

post(url: string, data?: any, config?: AxiosRequestConfig): AxiosPromise;

рддреЛ рдЖрдкрдХреЛ рдЗрд╕ рддрд░рд╣ .post рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛

await axios.post(
 `http://localhost:3000/your/path/here`,
 {},
 {
   params: {
     ID: 12345,
     name: 'testUser',
   },
 },
);

@NathanielRN рдпрд╣ рд╕рдорд╛рдзрд╛рди рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рдЗрд╖реНрдЯрддрдо рдирд╣реАрдВ рд╣реИред рдпрд╣ рдпреВрдЖрд░рдПрд▓ рдореЗрдВ рд╕рднреА рдкреИрд░рд╛рдореАрдЯрд░ рдЬреЛрдбрд╝рддрд╛ рд╣реИред "рдкреНрд░рд╛рдкреНрдд" рдХреЗ рд╕рдорд╛рдиред

@NathanielRN рдпрд╣ рд╕рдорд╛рдзрд╛рди рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рдЗрд╖реНрдЯрддрдо рдирд╣реАрдВ рд╣реИред рдпрд╣ рдпреВрдЖрд░рдПрд▓ рдореЗрдВ рд╕рднреА рдкреИрд░рд╛рдореАрдЯрд░ рдЬреЛрдбрд╝рддрд╛ рд╣реИред "рдкреНрд░рд╛рдкреНрдд" рдХреЗ рд╕рдорд╛рдиред

@nicolardi рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореИрдВ url рдЕрдиреБрд░реЛрдз рдкреНрд░рджрд░реНрд╢рди рд╕реЗ рдмрд╣реБрдд рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдБред рдпреВрдЖрд░рдПрд▓ рдореЗрдВ рдкреИрд░рд╛рдореАрдЯрд░ рдЬреЛрдбрд╝рдирд╛ рдЗрд╖реНрдЯрддрдо рдирд╣реАрдВ рд╣реИ? рднрд▓реЗ рд╣реА рдпрд╣ "рдкреНрд░рд╛рдкреНрдд" рдЬреИрд╕рд╛ рд╣реЛ?

Axios рд╕рдмрд╕реЗ рдкреНрд░рд╕рд┐рджреНрдз рдХреНрд▓рд╛рдЗрдВрдЯ рд╣реИ, рдлрд┐рд░ рднреА рдЗрд╕рдореЗрдВ рдРрд╕реА рдЦрд╛рдорд┐рдпрд╛рдВ рд╣реИрдВред рдирд┐рд░рд╛рд╢рд╛рдЬрдирдХред

рдЬрд╛рдВрдЪ рдХреЗ рд▓рд┐рдП рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓рдирд╛

рдпрд╣рд╛рдБ рдмрд╛рдд рд╣реИ: рд╕рдорд╕реНрдпрд╛ Axios рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рд╣реИред рдпрджрд┐ рдЖрдк рд╕рдорд╛рди рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде рдХрд░реНрд▓ рдпрд╛ рдкреЛрд╕реНрдЯрдореИрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ (рд╡рд┐рдзрд┐: рдкреЛрд╕реНрдЯ, рдмреЙрдбреА: {"something":"value"}, рд╣реЗрдбрд░ рдЬреЗрд╕рди рдкрд░ рд╕реЗрдЯ рд╣реИрдВ) рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдЕрдкрдиреЗ Vue, React, Angular (рдЬреЛ рднреА) рдореЗрдВ Axios рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ Fetch API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЕрдкрдиреЗ рдХреНрд░реЛрдо рдпрд╛ (рдХрд┐рд╕реА рдЕрдиреНрдп рдмреНрд░рд╛рдЙрдЬрд╝рд░) рдХреЛ "рдмрджрд▓рддреЗ" рдЕрдиреБрд░реЛрдз рд╡рд┐рдзрд┐ (рдиреЗрдЯрд╡рд░реНрдХ рдЯреИрдм рджреЗрдЦреЗрдВ) рдХреЛ рд╡рд┐рдХрд▓реНрдк рдореЗрдВ рджреЗрдЦреЗрдВрдЧреЗ рдФрд░ рдирд╣реАрдВ рдЕрдм рдкреЛрд╕реНрдЯ рдХрд░реЗрдВред рдЗрд╕рдХреЗ рдкреАрдЫреЗ рдХрд╛ рдХрд╛рд░рдг... CORS (рдХреНрд░реЙрд╕-рдУрд░рд┐рдЬрд┐рдирд▓ рд░рд┐рд╕реЛрд░реНрд╕ рд╢реЗрдпрд░рд┐рдВрдЧ) рд╣реИред рдореБрдЭреЗ рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ NestJS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдирд╛ API рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдореИрдВ CORS рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдирд╛ рднреВрд▓ рдЧрдпрд╛ред рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдкрд░, рдЕрдиреБрд░реЛрдз рд╡рд┐рдзрд┐ рдХреЛ POST рдХреЗ рд░реВрдк рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ) рдФрд░ Axios рдЖрдкрдХреЗ JSON (рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд░рд╛рд░реВрдк) рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛ред рдХреБрдЫ рдврд╛рдВрдЪреЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕реАрдУрдЖрд░рдПрд╕ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд▓рд╛рд░рд╡реЗрд▓) рдЬрд╣рд╛рдВ рдЕрдиреНрдп рдЖрдкрдХреЛ рдЗрд╕реЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╕реЗрдЯ/рд╕рдХреНрд╖рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:

const formData = new FormData();
formData.append('action', 'some-action');
formData.append('page', 1);

axios
  .post('/async/index.php', formData, {
    retry: 3,
    retryDelay: 100,
  })
  .then(res => {
    console.log('get', res.data);
  })
  .catch(console.log);

рдкреАрдПрдЪрдкреА

print_r($_POST);

@jonataswalker рджреНрд╡рд╛рд░рд╛ рд╕рдорд╛рдзрд╛рди Axios рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ POST рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рд╣реИред рдлреЙрд░реНрдордбрд╛рдЯрд╛() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рддреЛ рдореБрдЭреЗ рдПрдХ рд╣реА рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛ рд╣реИред рдореИрдВ рдЕрдкрдиреЗ рд╕рд╛рдордиреЗ рдХреЗ рд▓рд┐рдП Vue.js рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдЪреВрдВрдХрд┐ рдореИрдВрдиреЗ рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг (рдЕрдХреНрд╖реАрдп, рдФрд░ vue) рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдбреЗрдЯрд╛ рдирд╣реАрдВ рднреЗрдЬ рд╕рдХрддрд╛ред рдореЗрд░реА рдЖрдЦрд┐рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдореИрдВ рдХрд┐рд╕реА рднреА рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдбреЗрдЯрд╛ рднреЗрдЬ рд╕рдХрддрд╛ рдерд╛ред

рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдареАрдХ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ рдФрд░ рдЕрджреНрдпрддрди рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред

axios.post('/actions/posts/create_questionnaire' , { questionnaire : form })

рдореЗрд░реА рд╕рд▓рд╛рд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рдкреЛрд╕реНрдЯ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреА рд╣реИ рддреЛ axios рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рдлрд╝реНрд░реАрдорд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред

рдореИрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рдПрдХ django рдмреИрдХрдПрдВрдб рдХреЗ рд╕рд╛рде рднрд╛рдЧ рдЧрдпрд╛ред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ рдореЗрд░реЗ рдкрд╛рд╕ рдЬреАрдИрдЯреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдХрд╛рдордХрд╛рдЬ рд╣реИ рд▓реЗрдХрд┐рди axios.post рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рджрд╕реНрддрд╛рд╡реЗрдЬ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ axios рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рдмрд▓реНрдХрд┐ cors рд╣реИред
рдпрджрд┐ рдЖрдк рдиреЛрдб рд╕рд░реНрд╡рд░ рд╕реЗ PHP рдмреИрдХрдПрдВрдб рдкрд░ рдкреЛрд╕реНрдЯ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдЖрдкрдХреА PHP рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ cors рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:

https://stackoverflow.com/a/55392661

рдФрд░ $_POST рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ рд▓реЗрдХрд┐рди $data = file_get_contents('php://input');

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ PHP рдореЗрдВ $ _POST рдорд╛рди рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ:

    axios.post(url, {test: 'dafasfasfa'},{
        headers: {
            'Content-Type': 'application/x-www-form-urlencoded',
            "Access-Control-Allow-Origin": "*"
        }
    })

рдЕрдВрдд рдореЗрдВ рдореБрдЭреЗ рдпрд╣ рдПрдХ django рдмреИрдХрдПрдВрдб (cors рд╕реНрдерд╛рдкрд┐рдд рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХреЗ рд╕рд╛рде) рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЗрд╕ рддрд░рд╣ @alvarotrigo рдФрд░ @latanoel рдХреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЗ рд╕рдВрдпреЛрдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ:

const formData = new FormData();
formData.append('a1', this.form.a1);
formData.append('a2', this.form.a2);
formData.append('a3', this.form.a3);

axios
  .post(url, formData, {
    headers: {
      'Content-type': 'application/x-www-form-urlencoded',
    }
  })
etc

рдЬрдм рдЖрдк рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреЗ рд╕реБрдЭрд╛рд╡ рдХреЗ рдЕрдиреБрд╕рд╛рд░ POST args рдЗрдирд▓рд╛рдЗрди рд╢рд╛рдорд┐рд▓ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ POST рдмреИрдХрдПрдВрдб рдореЗрдВ рдЦрд╛рд▓реА рд╣реЛрддрд╛ рд╣реИред рд╕рд╛рде рд╣реА, рдЖрдк рдПрдХреНрд╕реЗрд╕-рдХрдВрдЯреНрд░реЛрд▓-рдЕрдиреБрдорддрд┐-рдЙрддреНрдкрддреНрддрд┐ рд╕реЗрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ cors рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд░рддрд╛ рд╣реИред

рд╕рд╛рде рд╣реА, рдЗрд╕ рд╡рд┐рдзрд┐ рд╕реЗ рднреА рдЕрд╡рдЧрдд рдХрд░рд╛рдПрдВ
const paramsCompose = (formData) => { const str = []; for (let p in formData) { str.push(encodeURIComponent(p) + '=' + encodeURIComponent(formData[p])); } const body = str.join('&'); console.log('PARAMS ' + body); return body; };

рдлрд┐рд░ рдЖрдк ...
return axios.post(url, paramsCompose({ image_url: image_url, cover_name: cover_name })) .then(res => { const tx = res.data; console.log(tx); return res.data });

рдХреБрдЫ рджрд┐рдиреЛрдВ рдХреЗ рдмрд╛рдж рдФрд░ рдкрд┐рдЫрд▓реЗ рд╕рднреА рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рдЖрдЬрдорд╛рдиреЗ рдХреЗ рдмрд╛рдж рднреА рдореБрдЭреЗ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдХреЛрдИ рд╕рдлрд▓рддрд╛ рдирд╣реАрдВ рдорд┐рд▓реА рд╣реИред

рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рд╣реИ:

  • Axios 'рдкреЛрд╕реНрдЯ' рд╡рд┐рдзрд┐ рджрд╕реНрддрд╛рд╡реЗрдЬ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреА рд╣реИ;
  • рдПрдХ рдЖрд░рдИрдПрд╕рдЯреА рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдзрд╛рд░рдг 'рдкреЛрд╕реНрдЯ' рдХреЙрд▓ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ, рдПрдХреНрд╕рд┐рдпреЛрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд░рдХ рдмрди рдЧрдпрд╛;

рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдирд╣реАрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЧрдВрднреАрд░ рд╣реИ... рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдПрдХ рдФрд░ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рдкрд╕ рдЖрдКрдВрдЧрд╛ред рдЕрд▓рд╡рд┐рджрд╛ рдПрдХреНрд╕рд┐рд╕ред

@fabriciobraga рдореИрдВ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдореЗрд░реЗ рдЖрд╡реЗрджрди рдореЗрдВ рднреА рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИред рдореИрдВрдиреЗ рдкреВрд░рд╛ рджрд┐рди рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдЗрдВрдЯрд░рдиреЗрдЯ рдХреЛ рдЦрдВрдЧрд╛рд▓рддреЗ рд╣реБрдП рдмрд┐рддрд╛рдпрд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рдореБрджреНрджрд╛ рдерд╛ред рдореЗрд░рд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ action рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ рдкрд╣рд▓реЗ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рдерд╛:

createUser(context, user) {
    this.$axios.$post("/api/users/", user).then(response => {
      context.dispatch("fetchUsers");
    });
 }

user рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдирдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ email рдФрд░ password рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдореИрдВрдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ console.log рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдпрд╣ рдмрддрд╛рдпрд╛ рдХрд┐ рдЧреБрдг рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рдереЗ! рдореИрдВ

Screen Shot 2020-01-27 at 10 00 04 PM

рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ $ рдкреЛрд╕реНрдЯ рд╡рд┐рдзрд┐ рдореЗрдВ рдкрд╛рд╕ рдХрд░рддреЗ рд╕рдордп рдлреИрд▓рд╛рдпрд╛ рдФрд░ рдЕрдм рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ!

 this.$axios.$post("/api/users/", {...user})

рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╡рд╕реНрддреБ рдХреЛ рдЦрд╛рд▓реА рд╡рд╕реНрддреБ рдХреЗ рд░реВрдк рдореЗрдВ рднреЗрдЬрд╛ рдЬрд╛ рд░рд╣рд╛ рдерд╛ рдФрд░ рдореЗрд░реЗ рдПрдкреАрдЖрдИ рдиреЗ рдРрд╕рд╛ рд╣реЛрдиреЗ рдХреА рд╕реВрдЪрдирд╛ рджреАред рдпрджрд┐ рдЖрдк рднреА рдЗрд╕реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ рд╢рд╛рдпрдж рдЖрдкрдХреЛ рдпрд╣ рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдПрдХ рдЕрдиреНрдп рд╕рдВрднрд╛рд╡рд┐рдд рдкрд░рд┐рджреГрд╢реНрдп рдпрд╣ рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рдбреЗрдЯрд╛ рдареАрдХ-рдард╛рдХ рднреЗрдЬрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрд╕ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдирд╣реАрдВ рдЬрд┐рд╕рдХреА рдЖрдкрдХреА рдПрдкреАрдЖрдИ рдЙрдореНрдореАрдж рдХрд░ рд░рд╣реА рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП PHP рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рд╛рд░реВрдк рдлреЙрд░реНрдо-рдбреЗрдЯрд╛ рд╣реИ рдЬрдмрдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рдиреЛрдб.рдЬреЗрдПрд╕ рдПрдкреАрдЖрдИ рдЬреЗрдПрд╕рдУрдПрди рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВ)ред рддреЛ рдЖрдкрдХреЛ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ; рдКрдкрд░ рдЪрд░реНрдЪрд╛ рджреЗрдЦреЗрдВ ред

рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рд╣реИ
axios.post("api", { API: 1, version: "0.1b"...})....
рдореЗрд░реЗ рдЬрд╛рд╡рд╛ рд░реЗрд╕реНрдЯ рд╕рд░реНрд╡рд░ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдкрд░ рдЦрд╛рд▓реА рдПрдкреАрдЖрдИ рдФрд░ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдкрд░рд┐рдгрд╛рдоред
рдЗрд╕реЗ рддреАрд╕рд░реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рднреЗрдЬрддреЗ рд╕рдордп, рдЕрд░реНрдерд╛рдд
axios.post("api", null, { params: {API: 1, version: "0.1b"...}})....
рдпрд╣ рдЕрдкреЗрдХреНрд╖рд╛ рдХреЗ рдЕрдиреБрд░реВрдк рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ

рдпрд╣ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЯрд┐рдкреНрдкрдгреА рдФрд░ рдЦреБрд▓реЗ рдореБрджреНрджреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рдореЗрд░рд╛ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд░реЛ рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕ рд╕реВрддреНрд░ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдЯрд┐рдкреНрдкрдгреА рдХреЛ рдкрдврд╝рд╛ рд╣реИред рдмрд╣реБрдд рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рднреНрд░рдорд┐рдд рд╣реЛ рдЧрдП рдХрд┐ рдХреИрд╕реЗ axios рджреНрд╡рд╛рд░рд╛ рдбреЗрдЯрд╛ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПред рдХрд┐рд╕реА рдиреЗ рдЕрдкрдиреЗ рд╣рд┐рдЯ рдпрд╛ рдирд┐рд╖реНрдХрд░реНрд╖ рджрд┐рдП рдФрд░ рдирдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдлрд┐рд░ рд╕реЗ рдЕрдкрдиреЗ рджрд┐рд╢рд╛-рдирд┐рд░реНрджреЗрд╢реЛрдВ рд╕реЗ рдЪреВрдХ рдЧрдПред

рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ Axios рдХреЗрд╡рд▓ рдПрдХ рдЕрдиреБрд░реЛрдз рдХреНрд▓рд╛рдЗрдВрдЯ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЛ рдЕрдкреЗрдХреНрд╖рд┐рдд рдкреНрд░рддрд┐рд╕рд╛рдж рдирд╣реАрдВ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ, рддреЛ рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдПрдХреНрд╕рд┐рдУрд╕ рднреЗрдЬрдиреЗ рд╡рд╛рд▓реА рдЪреАрдЬреЗрдВ рд╕рд░реНрд╡рд░ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИрдВред рдкреЛрд╕реНрдЯ рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рд╕рднреА рдЕрдХреНрд╖реАрдп рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рдореБрдЦреНрдп рдЪрд░рдг рдпрд╣рд╛рдВ рджрд┐рдП рдЧрдП рд╣реИрдВред рдФрд░ рдореБрдЭреЗ рдпрд╣ рднреА рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рдЙрддреНрддрд░ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВред рд╢рд╛рдпрдж рдмрд╛рдж рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВред

  1. рдЖрдкрдиреЗ рдЕрдкрдирд╛ рдХреЛрдб рдХрд┐рд╕ рдкрдХреНрд╖ рдореЗрдВ рдЪрд▓рд╛рдпрд╛? рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдпрд╛ рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдбред
  2. рдЖрдк рдХреМрди рд╕реЗ рдкреИрд░рд╛рдореАрдЯрд░ рднреЗрдЬрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? config.params рдпрд╛ config.data рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?
  3. рдпрджрд┐ params , рддреЛ рдЙрдиреНрд╣реЗрдВ рдПрдиреНрдХреЛрдб рдХреИрд╕реЗ рдХрд░реЗрдВ? рдХреНрдпрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ config.paramsSerializer рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ рдпрд╛ рдПрдХ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?
  4. рдпрджрд┐ data , рддреЛ рдХреНрдпрд╛ рдЖрдкрдиреЗ рдЙрдиреНрд╣реЗрдВ рд╕рд╣реА content-type рд╢реАрд░реНрд╖рд▓реЗрдЦ рдХреЗ рд╕рд╛рде рдПрдиреНрдХреЛрдб рдХрд┐рдпрд╛ рдерд╛? рдЕрдзрд┐рдХрд╛рдВрд╢ рдкреЛрд╕реНрдЯ рд╕рдорд╕реНрдпрд╛рдПрдВ рдпрд╣рд╛рдВ рд╡рд┐рдлрд▓ рд░рд╣реАрдВред

    1. рд╢реАрд░реНрд╖рд▓реЗрдЦ application/json рдХреЗ рд▓рд┐рдП JSON.stringify рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рд╢реАрд░реНрд╖рд▓реЗрдЦ application/x-www-form-urlencoded рдХреЗ рд▓рд┐рдП qs.stringify рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

    2. рдбрд┐рдлрд╝реЙрд▓реНрдЯ config.transformRequest URLSearchParams рдХреЗ рд▓рд┐рдП application/x-www-form-urlencoded рдФрд░ Javascript рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП application/json рд╕реЗрдЯ рдХрд░реЗрдЧрд╛ред рд╕рдЯреАрдХ рд╕рдордЭ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреГрдкрдпрд╛ lib/defaults.js рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб рдЬрд╛рдВрдЪреЗрдВред

  5. рдХреНрдпрд╛ рдЖрдк рдЕрдиреНрдп рд╕рдорд╕реНрдпрд╛рдУрдВ, рдЕрд░реНрдерд╛рдд CORS/ATS/рд╡рд╛рджреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╣рд▓ рдХрд░рдирд╛ рдЬрд╛рдирддреЗ рд╣реИрдВ?

рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдЬрдЯрд┐рд▓ рджрд┐рдЦрддреЗ рд╣реИрдВ рдФрд░ рдореИрдВ рдПрдХ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рд▓рд┐рдЦрдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВ рдЬреЛ рдпрдерд╛рд╕рдВрднрд╡ рд╡рд┐рд╕реНрддреГрдд рд╣реИред рд▓реЗрдХрд┐рди рдореИрдВ рджреЗрд╢реА рд╡рдХреНрддрд╛ рдирд╣реАрдВ рд╣реВрдВ рдФрд░ рдЕрдкрдиреЗ рд▓реЗрдЦ рд╕реНрддрд░ рдХреЛ рд▓реЗрдХрд░ рдереЛрдбрд╝рд╛ рдЪрд┐рдВрддрд┐рдд рд╣реВрдВред рдореБрдЭреЗ рдЗрд╕реЗ рд▓реЙрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рдФрд░ рдХреГрдкрдпрд╛ рдореЗрд░реЗ рдпрд╛ рд╕рдореБрджрд╛рдп рдХреЗ рдХрд┐рд╕реА рд╡реНрдпрдХреНрддрд┐ рджреНрд╡рд╛рд░рд╛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд▓рд┐рдЦрд┐рдд рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рджреЗрдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВред рдпрд╣ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рд╣реИред рд╣рдореЗрдВ рд╕рднреА рдХреЗ рдпреЛрдЧрджрд╛рди рдХреА рдЬрд░реВрд░рдд рд╣реИред

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

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

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

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

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

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

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