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