我的ajax请求将文件放入目录中。
但是我没有收到PHP文件的回应。AJAX未收到PHP响应
我使用警报来确定是否收到回复。
任何帮助将不胜感激。
function doodleSave() {
var canvas = document.getElementById("doodle-canvas");
var canvasData = canvas.toDataURL("image/png");
$.ajax({
url:'test.php',
type:'POST',
data:{ data:canvasData },
success: function(response){
alert(response);
//echo what the server sent back...
}
});
}
<?php
/* AUTOMATED VARIABLES */
$upload_dir = "images/external/doodles/";
$url = md5(uniqid(rand(), true));
$unique_post_id = md5(uniqid(rand(), true));
$timestamp = time();
$nature = "doodle";
$imageUrl = $upload_dir.$url.'.png';
$img = $_POST['data'];
$img = substr($img,strpos($img,",")+1);
$data = base64_decode($img);
$file = $upload_dir . $url . ".png";
$success = file_put_contents($file, $data);
if(!$success) {
exit('unable to upload'); // Prints success and exit the script
} else {
exit($file); // Prints success and exit the script
}
?>
UPDATE:
我的成功和错误Ajax和它作为一个错误:
function doodleSave() {
var canvas = document.getElementById("doodle-canvas");
var canvasData = canvas.toDataURL("image/png");
$.ajax({
url:'test.php',
type:'POST',
data:{ data:canvasData },
success: function(){
alert('success');
},
error: function(){
alert('failure');
}
});
}
如果您查看网络控制台中的请求,XHR请求会获得哪些http响应代码?我不知道exit()会如何影响请求的响应代码,所以它可能会返回一个错误响应代码。在这种情况下,您可能希望使用'header()'指定请求响应代码,而不是使用exit()。例如'header(“HTTP/1.0 200 Ok”)或'header(“HTTP/1.0 400 Bad Request”)' – Taplar
我查看了XHR响应,它们都是我的通知检查器,每10秒运行一次。这个上传脚本没有任何内容 – Sam
但是当我按下doodleSave按钮 – Sam