[英]Why is my PHP script not being executed when calling it by AJAX JQuery?
我想在單擊按鈕時執行 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。 任何關於如何讓它工作的幫助表示贊賞。
你可以像這樣在 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'];
就是這樣
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.