рдореИрдВ рд╡реЗрдм рдПрдкреАрдЖрдИ рдкрд░ рдбреЗрдЯрд╛ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ
рд╡рд░ рдкрд░рдо = {
рддрд░реНрдХ: {
myStringVal: '979251e4-6c9f-460d-ba32-1b6fe58ce8a3'
}
};
рдЕрдХреНрд╖({
рд╡рд┐рдзрд┐: 'рдкреЛрд╕реНрдЯ',
рдпреВрдЖрд░рдПрд▓: 'рдПрдкреАрдЖрдИ/рдПрдкреНрд▓рд┐рдХреЗрд╢рди/рдПрдХреНрд╢рди/рдорд╛рдИрд╡реЗрдмрдПрдкреАрдЖрдИрдореЗрдереЛрдб',
рдбреЗрдЯрд╛: JSON.stringify (рдкрд░рдо),
});
рдФрд░ рдореЗрд░рд╛ рд╡реЗрдм рдПрдкреАрдЖрдИ рдХреЛрдб рдЗрд╕ рддрд░рд╣ рд╣реИ:
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╡рд░реНрдЧ MyClassVM
{
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ myStringVal {рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ; рд╕реЗрдЯ; }
}
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕рдВрджреЗрд╢VM
// рдореЗрд░рд╛ рдХреЛрдб рдпрд╣рд╛рдБ рдЬрд╛рддрд╛ рд╣реИ
}
рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ: рдЬрдм рдореИрдВ myStringVal рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ: '979251e4-6c9f-460d-ba32-1b6fe58ce8a3' рдпрд╣ рдореБрдЭреЗ рд╡реЗрдм рдПрдкреАрдЖрдИ [args.myStringVal = null] рдореЗрдВ рд╢реВрдиреНрдп рджреЗрддрд╛ рд╣реИред
рдореИрдВ axios POST рдореЗрдВ рдорд╛рди рдХреИрд╕реЗ рдкрд╛рд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред
рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рдзрдиреНрдпрд╡рд╛рдж
@ 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 рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд╛рдо рдХрд┐рдпрд╛:
рдкрд╣рд▓реЗ 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
});
рдХреБрдЫ рджрд┐рдиреЛрдВ рдХреЗ рдмрд╛рдж рдФрд░ рдкрд┐рдЫрд▓реЗ рд╕рднреА рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рдЖрдЬрдорд╛рдиреЗ рдХреЗ рдмрд╛рдж рднреА рдореБрдЭреЗ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдХреЛрдИ рд╕рдлрд▓рддрд╛ рдирд╣реАрдВ рдорд┐рд▓реА рд╣реИред
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рд╣реИ:
рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдирд╣реАрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЧрдВрднреАрд░ рд╣реИ... рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдПрдХ рдФрд░ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рдкрд╕ рдЖрдКрдВрдЧрд╛ред рдЕрд▓рд╡рд┐рджрд╛ рдПрдХреНрд╕рд┐рд╕ред
@fabriciobraga рдореИрдВ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдореЗрд░реЗ рдЖрд╡реЗрджрди рдореЗрдВ рднреА рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИред рдореИрдВрдиреЗ рдкреВрд░рд╛ рджрд┐рди рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдЗрдВрдЯрд░рдиреЗрдЯ рдХреЛ рдЦрдВрдЧрд╛рд▓рддреЗ рд╣реБрдП рдмрд┐рддрд╛рдпрд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рдореБрджреНрджрд╛ рдерд╛ред рдореЗрд░рд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ action
рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ рдкрд╣рд▓реЗ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рдерд╛:
createUser(context, user) {
this.$axios.$post("/api/users/", user).then(response => {
context.dispatch("fetchUsers");
});
}
user
рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдирдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ email
рдФрд░ password
рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдореИрдВрдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ console.log
рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдпрд╣ рдмрддрд╛рдпрд╛ рдХрд┐ рдЧреБрдг рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рдереЗ! рдореИрдВ
рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ $ рдкреЛрд╕реНрдЯ рд╡рд┐рдзрд┐ рдореЗрдВ рдкрд╛рд╕ рдХрд░рддреЗ рд╕рдордп рдлреИрд▓рд╛рдпрд╛ рдФрд░ рдЕрдм рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ!
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 рдХреЗрд╡рд▓ рдПрдХ рдЕрдиреБрд░реЛрдз рдХреНрд▓рд╛рдЗрдВрдЯ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЛ рдЕрдкреЗрдХреНрд╖рд┐рдд рдкреНрд░рддрд┐рд╕рд╛рдж рдирд╣реАрдВ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ, рддреЛ рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдПрдХреНрд╕рд┐рдУрд╕ рднреЗрдЬрдиреЗ рд╡рд╛рд▓реА рдЪреАрдЬреЗрдВ рд╕рд░реНрд╡рд░ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИрдВред рдкреЛрд╕реНрдЯ рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рд╕рднреА рдЕрдХреНрд╖реАрдп рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рдореБрдЦреНрдп рдЪрд░рдг рдпрд╣рд╛рдВ рджрд┐рдП рдЧрдП рд╣реИрдВред рдФрд░ рдореБрдЭреЗ рдпрд╣ рднреА рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рдЙрддреНрддрд░ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВред рд╢рд╛рдпрдж рдмрд╛рдж рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВред
config.params
рдпрд╛ config.data
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?params
, рддреЛ рдЙрдиреНрд╣реЗрдВ рдПрдиреНрдХреЛрдб рдХреИрд╕реЗ рдХрд░реЗрдВ? рдХреНрдпрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ config.paramsSerializer
рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ рдпрд╛ рдПрдХ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?data
, рддреЛ рдХреНрдпрд╛ рдЖрдкрдиреЗ рдЙрдиреНрд╣реЗрдВ рд╕рд╣реА content-type
рд╢реАрд░реНрд╖рд▓реЗрдЦ рдХреЗ рд╕рд╛рде рдПрдиреНрдХреЛрдб рдХрд┐рдпрд╛ рдерд╛? рдЕрдзрд┐рдХрд╛рдВрд╢ рдкреЛрд╕реНрдЯ рд╕рдорд╕реНрдпрд╛рдПрдВ рдпрд╣рд╛рдВ рд╡рд┐рдлрд▓ рд░рд╣реАрдВредapplication/json
рдХреЗ рд▓рд┐рдП JSON.stringify
рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рд╢реАрд░реНрд╖рд▓реЗрдЦ application/x-www-form-urlencoded
рдХреЗ рд▓рд┐рдП qs.stringify
рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИредconfig.transformRequest
URLSearchParams рдХреЗ рд▓рд┐рдП application/x-www-form-urlencoded
рдФрд░ Javascript рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП application/json
рд╕реЗрдЯ рдХрд░реЗрдЧрд╛ред рд╕рдЯреАрдХ рд╕рдордЭ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреГрдкрдпрд╛ lib/defaults.js
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб рдЬрд╛рдВрдЪреЗрдВредрдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдЬрдЯрд┐рд▓ рджрд┐рдЦрддреЗ рд╣реИрдВ рдФрд░ рдореИрдВ рдПрдХ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рд▓рд┐рдЦрдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВ рдЬреЛ рдпрдерд╛рд╕рдВрднрд╡ рд╡рд┐рд╕реНрддреГрдд рд╣реИред рд▓реЗрдХрд┐рди рдореИрдВ рджреЗрд╢реА рд╡рдХреНрддрд╛ рдирд╣реАрдВ рд╣реВрдВ рдФрд░ рдЕрдкрдиреЗ рд▓реЗрдЦ рд╕реНрддрд░ рдХреЛ рд▓реЗрдХрд░ рдереЛрдбрд╝рд╛ рдЪрд┐рдВрддрд┐рдд рд╣реВрдВред рдореБрдЭреЗ рдЗрд╕реЗ рд▓реЙрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рдФрд░ рдХреГрдкрдпрд╛ рдореЗрд░реЗ рдпрд╛ рд╕рдореБрджрд╛рдп рдХреЗ рдХрд┐рд╕реА рд╡реНрдпрдХреНрддрд┐ рджреНрд╡рд╛рд░рд╛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд▓рд┐рдЦрд┐рдд рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рджреЗрдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВред рдпрд╣ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рд╣реИред рд╣рдореЗрдВ рд╕рднреА рдХреЗ рдпреЛрдЧрджрд╛рди рдХреА рдЬрд░реВрд░рдд рд╣реИред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдореИрдВрдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ AJAX рдХрд╛рдо рдХреЗ рд▓рд┐рдП jQuery рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ Axios рдХреА рдУрд░ рдмрдврд╝рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ рд╣реИ, рд╕рд┐рд░реНрдл рдЗрд╕рд▓рд┐рдП рдХрд┐ рдпрд╣ рд╕рднреА рдХреНрд░реЛрдз рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдореИрдВ рдпрд╣ рдЬрд╛рдирдХрд░ рдЪреМрдВрдХ рдЧрдпрд╛ рдХрд┐ рдореИрдВ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкреЛрд╕реНрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред
рддреЛ, рдпрд╣рд╛рдВ рдореИрдВрдиреЗ рдкрд╣рд▓реА рдмрд╛рд░ рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ:
рдмреИрдХрдПрдВрдб рдкрд░ (PHP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) $_POST рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЦрд╛рд▓реА рдерд╛ред рддреЛ рдореИрдВрдиреЗ рдХреБрдЫ рдЧреБрдЧрд▓ рдХрд┐рдпрд╛, рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рдкреЙрд▓реАрдлрд┐рд▓ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд╕рд╛рде, рд╢реНрд╡рд╛рд╕):
рдпрд╣ рд╕рд╣реА рд╣реИред рддреЛ рдореБрдЭреЗ
URLSearchParams
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ? рдЦреИрд░ рдпрд╣ рдирд┐рд░рд╛рд╢рд╛рдЬрдирдХ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдмрддрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдкрд╣рд▓реА рд╡рд┐рдзрд┐ рдХреЛ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПредрдХрд┐рд╕реА рдФрд░ рдХреЛ рдпрд╣ рдкрд░реЗрд╢рд╛рдиреА рд╣реЛ рд░рд╣реА рд╣реИ?