Bismillaahirrohmaanirrohiim…
Berikut ini adalah contoh penggunaan axios dan fetch pada react JS untuk post data ke server yang menggunakan file PHP.
Yang perlu diinstall untuk menggunakan contoh ini adalah:
npm install axios qs
Antara axios dan fetch tentu mempunyai kelebihan dan kekurangan masing-masing.
Seorang programmer bebas memilih mana yang cocok dan terbaik sesuai kebutuhannya.
Di sini seluruh input pada form langsung didefinisikan pada variabelconst data = new FormData(e.target);
Axios const data = new FormData(e.target); data.append('addparam','addvalue'); axios.post('http://url.com/path.php', data) .then(function(response) { //success console.log(response); }) .catch(function (error) { console.log(error); }) .finally(function(){ console.log('finish') }) PHP $json = json_encode($_POST);
Cara ini digunakan untuk mendefinisikan parameter satu persatu, biasanya dipakai untuk validasi, dll
penanganan dengan PHP nya juga menggunakan perintah$json = file_get_contents('php://input');
Axios axios.post('http://url.com/path.php', { param1: 'value 1', name: this.state.name, age: this.state.age, }) .then(function(response) { //success console.log(response); }) .catch(function (error) { console.log(error); }) .finally(function(){ console.log('finish') }) PHP $json = file_get_contents('php://input');
Sama seperti cara di atas, bedanya penanganan datanya di PHP menggunakan$json = json_encode($_POST);
Axios import qs from "qs";//query string const exp = { titre: this.state.user_nama, contenu: this.state.user_email, datePub: 'pub' , userID: 1 }; axios.post('http://url.com/path.php', qs.stringify(exp)) .then(function(response) { console.log(response); }) .catch(function (error) { console.log('err: '+error); }) .finally(function(){ console.log('sukses semua') }) PHP $json = json_encode($_POST);
Di sini seluruh input pada form langsung didefinisikan pada variabelconst data = new FormData(e.target);
Fetch const data = new FormData(e.target); fetch('http://url.com/path.php', { method: 'POST', body: data, }) .then(function (response) { return response.json(); }) .then(function (result) { console.log(JSON.stringify(result)); }) .catch (function (error) { console.log('Request failed', error); }); PHP $json = json_encode($_POST);
Cara ini digunakan untuk mendefinisikan parameter satu persatu, biasanya dipakai untuk validasi, dll
penanganan dengan PHP nya sama menggunakan perintah$json = json_encode($_POST);
Fetch import qs from "qs";//query string const exp = { titre: this.state.user_nama, contenu: this.state.user_email, datePub: 'pub' , userID: 1 }; fetch('http://url.com/path.php', { method: 'POST', headers: {'Content-Type':'application/x-www-form-urlencoded'}, body: qs.stringify(exp), }) .then(function (response) { return response.json(); }) .then(function (result) { console.log(JSON.stringify(result)); }) .catch (function (error) { console.log('Request failed', error); }); PHP $json = json_encode($_POST);
Di sini seluruh input pada form langsung didefinisikan pada variabelconst data = new FormData(e.target);
ada tambahan headers jika dipakai untuk upload file.
Axios const cfg = { headers: { 'content-type':'multipart/form-data' } }; axios.post('http://url.com/path.php', data, cfg) .then(function (response) { console.log(response); }) .catch(function (error) { console.log('err: ' + error); }) .finally(function () { console.log('finish') }) PHP $foto = isset($_FILES['foto']) ? $_FILES['foto'] : array(); $foto_name = isset($foto['name']) ? $foto['name'] : ''; if (!empty($foto_name)) { @move_uploaded_file($foto["tmp_name"], $foto_name); } $json = json_encode($_POST);
Demikian catatan singkat ini, semoga bermanfaat.
Bismillaahirrohmaanirrohiim... Untuk mendeteksi cpu usage tinggi memang perkara rumit, adakalanya karena codingan bermasalah, akses ke…
Bismillaahirrohmaanirrohiim... Jika tidak dirawat dan dicek berkala, log mongodb akan semakin membesar. Bahkan sampai menghabiskan…
Bismillaahirrohmaanirrohiim... Jika kita membuat website yang digunakan untuk memantau lokasi HP client, maka kita memerlukan…
Bismillaahirrohmaanirrohiim... Kali ini kita akan mencoba menerapkan rumus trigonometeri dari formula haversine, yang digunakan untuk…
Bismillaahirrohmaanirrohiim... Disini saya akan berbagi pengalaman tentang susahnya membuka tutup botol cleo kecil ukuran 220ml.…
Bismillaahirrohmaanirrohiim... Kali ini saya akan berbagi pengalaman tentang mati lampu yang disebabkan oleh permasalahan arus…