我想在單擊按鈕時執行 PHP 腳本,該腳本通過 AJAX JQuery 將影像從 URL 下載到我的服務器。
這是 .html 檔案中的 AJAX 代碼:
在頭部:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
在正文部分:
<button type="button" id="btntest">Test PHP</button>
<script>
$("#btntest").on('click',function(){
alert("start");
var data = {"image-url" : "/serverfolder/Image.png","path" : "https://example.com/Image.png"};
$.ajax({
type: 'POST',
url: "test.php",
data: data,
success: function(resultData) { alert("success"); }
});
});
</script>
test.php 檔案中的代碼:
<?php
$params = $_POST['data'];
$path = $params['path'];
$image_url = $params['image-url'];
$data = file_get_contents($path);
$new = $image_url;
file_put_contents($new, fopen($data, 'r'));
?>
問題:我沒有收到“成功”警報,而是收到 test.php 檔案的內部服務器錯誤。如果 test.php 檔案看起來像這樣:
<?php
$params = $_POST['data'];
$path = $params['path'];
$image_url = $params['image-url'];
?>
出現成功警報,但這對我沒有幫助,因為我想將檔案從 $path 下載到服務器目錄 $image_url。任何有關如何使其發揮作用的幫助表示贊賞。
uj5u.com熱心網友回復:
你可以像這樣在ajax中發送資料
data:{data:data}
沒關系,或者您可以發送資料,例如
data:{image_url : "/serverfolder/Image.png",path : "https://example.com/Image.png"}
在這種形狀中,您不需要在 php 檔案中解碼并像它一樣使用
$path = $_POST['path'];
$image_url = $_POST['image_url'];
就是這樣
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/461029.html
標籤:javascript php html jQuery 阿贾克斯
上一篇:導航到不同的控制器(和AJAX請求)時,會話變數會丟失,但是在Session_Start期間設定的會話變數是完整的
