我的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