Rumah > Soal Jawab > teks badan
Saya menghadapi masalah menggunakan PHP dan JavaScript.
Matlamat: Apabila pendengar acara untuk butang HTML dalam fail .js dipanggil, skrip .php hendaklah dilaksanakan, tanpa memuat semula halaman.
Hasil yang dijangkakan: Apabila butang diklik, skrip PHP akan dilaksanakan. Dalam kes saya, fail daripada URL akan dimuat turun ke pelayan.
Hasil sebenar: Saya tidak tahu cara memanggil skrip PHP daripada fail JavaScript.
Saya cuba menggunakan AJAX tetapi tidak berjaya. Dan saya tidak tahu di mana hendak meletakkan rujukan perpustakaan JQuery.
Saya juga cuba menggunakan borang dan meletakkan input di dalamnya (type="submit"), tetapi apabila fungsi PHP dipanggil, ia menyegarkan halaman dan semua pada halaman yang menunjukkan sisi klien hilang.
Butang HTML:
<button type="button" class="button" id="btnsubmit">Submit</button> <img class="image" id="someimage">
Pendengar acara JavaScript (saya telah menetapkan butang dan imej kepada pembolehubah):
btnsubmit.addEventListener("click", () => { someimage.src = "directory/downloadedimg.png"; });
Skrip PHP:
<?php $path = 'https://somewebsite.com/imagetodownload.png'; $dir = 'directory/downloadedimg.png'; $content = file_get_contents($path); $fp = fopen($dir, "w"); fwrite($fp, $content); fclose($fp); ?>
Jadi secara amnya apabila butang diklik saya ingin melakukan perkara berikut:
Saya mencuba jawapan @Abhishek dan mendapati bahawa masalahnya kini dalam fail php saya. Ia sentiasa memberi saya ralat pelayan dalaman. Adakah anda menemui sebarang pepijat dalam kod ini, memuat naik imej dari $path (yang merupakan URL) ke pelayan saya (serverdirectorypath ialah $image_url):
<?php $params = $_POST['data']; $path = $params['path']; $image_url = $params['image-url']; $content = file_get_contents($path); $fp = fopen($image_url, "w"); fwrite($fp, $content); fclose($fp); ?>
P粉5474204742024-02-18 09:55:32
Tiada perpustakaan tambahan diperlukan, anda boleh menggunakan vanillaJs untuk melakukan ini.
Salah faham anda datang daripada: "Cara memanggil php dengan Js dan mendapatkan nilai pulangan"
Dari sini anda mempunyai contoh: https://www.w3schools.com/php/php_ajax_php.asp
Sebaik sahaja anda boleh memanggil skrip PHP, anda adalah 70% daripada matlamat anda
P粉7878203962024-02-18 00:14:54
Anda boleh melakukan perkara berikut.
sssccc
$("#button-id").on('click',function(){ var data = {"image-url" : "directory/downloadedimg.png","path" : "https://somewebsite.com/imagetodownload.png"}; $.ajax({ type: 'POST', url: "{hostname}/test.php", data: data, dataType: "json", success: function(resultData) { alert("success"); } }); });
$params = $_POST['data']; $path = $params['path']; $image_url = $params['image-url'];
Dan lakukan operasi perniagaan yang anda ingin lakukan.