JavaScript AJAX在上传文件时执行PHP而不是客户端重定向

JavaScript AJAX在上传文件时执行PHP而不是客户端重定向,javascript,php,html,ajax,file-upload,Javascript,Php,Html,Ajax,File Upload,在过去的几周里,我一直在使用一个没有JavaScript的经典表单上传,但我决定要有一个进度条,并在JavaScript的帮助下从上传页面(index.php)控制上传。 因此,我遵循这一点,最终得到了HTML的以下代码: <form id="upload_form" method="post" enctype="multipart/form-data"> <div class="choose_fil

在过去的几周里,我一直在使用一个没有JavaScript的经典表单上传,但我决定要有一个进度条,并在JavaScript的帮助下从上传页面(index.php)控制上传。 因此,我遵循这一点,最终得到了HTML的以下代码:

<form id="upload_form" method="post" enctype="multipart/form-data">
    <div class="choose_file">
        <span id="status" style="cursor: pointer;">Upload Audio File...</span>
        <input style="cursor: pointer;" type="file" name="fileToUpload" id="fileToUpload" accept=".mp3,.wav,.ogg" onchange="uploadFile()">
    </div>
</form>
<progress id="progressBar" value="0" max="100" style="width:100%;"></progress>
一切正常,除了服务器运行PHP文件而不是客户端。我希望用户运行PHP文件的原因是:

  • 它包含带有“if-else”语句的PHP代码,该语句将为客户端输出echo
  • 它可以用于用文件名替换标题或用文件名替换背景音频等
  • 错误消息在upload.php中比在index.php中看起来更好
  • 我不确定是否可以运行包括进度条的经典上传代码

    在更改代码之前,我使用了这样一个简单的代码,但是没有太多的控制,而且没有进度条看起来很奇怪

    <form action="uploaded.php" method="post" enctype="multipart/form-data">
        <div class="choose_file">
            <span id="status" style="cursor: pointer;">Upload Lossless File...</span>
            <input style="cursor: pointer;" type="file" name="fileToUpload" id="fileToUpload" accept=".mp3,.wav,.ogg" onchange="javascript:this.form.submit()">
        </div>
    </form>
    
    
    上传无损文件。。。
    
    所以问题是。我是否可以更改代码,使客户端运行PHP文件,而不是服务器,其中包括一个进度条和一些javascript?
    (服务器将始终执行PHP,但PHP的输出不会到达客户端。)

    您只需将upload.PHP中的代码放入index.PHP即可,只需更改表单即可action@Beginner是的,这将帮助我在同一页上抓住它,但是我更想被重定向。
    我能不能更改代码,让客户端运行PHP而不是服务器
    客户端不能运行PHP,这是一种服务器端语言。所以这句话没有什么意义,因为服务器总是运行PHP,不管它是否由Ajax调用。是的,我只是在最后编辑了它,但我理解你的意思。但是,是否有可能将upload.php的结果解析为另一个php?@ArtisticPhoenix好的,我对它进行了更多的编辑。应该提到的是,PHP文件同时包含JavaScript和HTMLyou只需将upload.PHP中的代码放入index.PHP即可更改表单action@Beginner是的,这将帮助我在同一页上抓住它,但是我更想被重定向。
    我能不能更改代码,让客户端运行PHP而不是服务器
    客户端不能运行PHP,这是一种服务器端语言。所以这句话没有什么意义,因为服务器总是运行PHP,不管它是否由Ajax调用。是的,我只是在最后编辑了它,但我理解你的意思。但是,是否有可能将upload.php的结果解析为另一个php?@ArtisticPhoenix好的,我对它进行了更多的编辑。应该提到的是,PHP文件同时包含JavaScript和HTML
    <form action="uploaded.php" method="post" enctype="multipart/form-data">
        <div class="choose_file">
            <span id="status" style="cursor: pointer;">Upload Lossless File...</span>
            <input style="cursor: pointer;" type="file" name="fileToUpload" id="fileToUpload" accept=".mp3,.wav,.ogg" onchange="javascript:this.form.submit()">
        </div>
    </form>