簡體   English   中英

為什么AJAX JQuery調用我的PHP腳本沒有執行?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM