繁体   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