[英]PHP show response of script in ajax call
我對腳本進行了ajax調用以上傳文件,現在我想顯示某些檢查的反饋,例如文件是否已經存在。
我無法顯示腳本的響應。 為什么沒有顯示響應?
這是我的ajax電話:
$(document).ready(function()
{
$("#upload").submit(function(e)
{
e.preventDefault();
$.ajax(
{
url: "upload.php",
type: "POST",
data: new FormData(this),
contentType: false,
cache: false,
processData:false,
success: function(data)
{
//i want response here true or false
location.reload(true);
}
});
});
});
upload.php腳本:
<?php
$dir = 'files';
echo upload();
/**
* Upload a file
*
* @return bool
*/
function upload()
{
// Storing source path of the file in a variable
$sourcePath = $_FILES['file']['tmp_name'];
// Target path where file is to be stored
$targetPath = "files/".$_FILES['file']['name'];
// Check if file already exists
if (file_exists($_FILES['file']['name'])) {
return false;
}
// Moving Uploaded file
move_uploaded_file($sourcePath,$targetPath) ;
return true;
}
首先,內部內容會返回php。 您需要回顯字符串以將值返回給js:
<?php
echo "true";
?>
而且您需要一個簡單的是否要在js中進行檢查:
if(data=="true"){
window.location.reload();
}
完整的代碼:
$(document).ready(function(){
$("#upload").submit(function(e){
e.preventDefault();
$.ajax({
url: "upload.php",
type: "POST",
data: new FormData(this),
contentType: false,
cache: false,
processData:false,
success: function(data)
{
if(data=="true"){
//window.location.reload();
alert("upload finished!");
}
}
});
});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.