作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是我上传图像文件的 jQuery 请求
$('#upload-image').change(function(e){
var file = e.target.files[0];
var imageType = /image.*/;
if (!file.type.match(imageType))
return;
console.log(file);
var form_data = new FormData();
form_data.append('file', file);
console.log(form_data);
$.ajax({
url: 'http://localhost/upload.php',
cache: false,
contentType: false,
processData: false,
data: form_data,
type: 'POST',
success: function(response){
console.log(response);
},
error: function(error){
console.log(error);
}
});
});
这是本地网络服务器上的 upload.php
<?php
header('Access-Control-Allow-Origin: *');
if ( 0 < $_FILES['file']['error'] ) {
echo 'Error: ' . $_FILES['file']['error'] . '<br>';
}
else {
move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/' . $_FILES['file']['name']);
$target_path = $_SERVER['DOCUMENT_ROOT'] . "/uploads/" . $_FILES['file']['name'];
echo $target_path;
}
?>
当我上传图片并发送请求时。它为我返回并记录完整的 upload.php
代码行,而不是我想要的 echo
命令行的结果。我检查了控制台网络选项卡,发现响应除了 upload.php
的完整代码外什么也没有。它确实不处理服务器端的任何事情。我做错了什么?
最佳答案
您需要确保 PHP 在服务器端运行。如果没有安装 PHP 处理程序,服务器将以文本形式返回 upload.php 文件的内容。我认为这是您的主要问题。
根据您的平台,您可以尝试:
首先确保您的 PHP 正常工作,方法是在您的 webroot 文件夹中创建一个名为 info.php 的文件,其中包含以下内容
<?php
phpinfo();
这应该会显示您的配置。然后你就可以开始调试 Javascript 了。内容类型应为 multipart/form-data,以便服务器知道它需要上传。
祝你好运!
关于javascript - PHP 回显 jQuery AJAX 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40062785/
我是一名优秀的程序员,十分优秀!