簡體   English   中英

PHP在ajax調用中顯示腳本的響應

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM