在使用简单的 HTML 表单的同时使用加载程序在 PHP 中加载另一个页面

Load another page in PHP using a loader while using a simple HTML form

我对 PHP 很陌生。所以我在这里简单解释一下我的问题。

最近,我开始为一个在线工具建立我的网站,所以它有一个像这样的 input 框。 (我还没有完全设计好。)(第URL页:index.php

我成功地从社交媒体网站上获取了一些数据!可以看到,上面写着"Enter Page URL"。用户必须把那个页面的URL。

我应该把HTML的内容也放上去!给你了。

<form method="get" action="download.php">
<input type="text" name="url" placeholder="Enter Page URL" required />
<input type="submit" name="submit" value="Download" />
</form>

action 页面的 URL 是 download.php。由于 download.php 内的重 PHP 代码,页面响应非常慢!有时甚至加载甚至需要 5 秒。只有我知道那里有什么,分享一切根本不是一个好主意!用户可能会想,这是他们的网络问题或站点问题或类似问题!被激怒了,他们要离开了。

我不想加载另一个页面,而是想使用加载程序将 download.php 页面放入 index.php 页面中。

download.php 页面中的内容大致如下所示。

如果我把 download 页面放在 index 页面中,用这样的加载程序会怎样? (加载器图像 URL:http://webplayer.d8u.in/loading.gif

例如,如果我 return 从 YouTube 移动网站上播放视频回来,加载器出现,然后我们突然开始看到视频列表! PHP 中的其他页面可以通过 includefile_get_contents() 完成,但我不知道如何使用加载程序执行此操作(不是通过刷新当前页面)。我想网上有很多关于这个的答案,但我找不到任何一个!在这里问对我来说是个更好的主意。

那么,我如何使用 jQuery & PHP 来做到这一点?

如果你想在不刷新页面的情况下更改页面内容,你必须使用 javascript exacly AJAX。了解 https://www.w3schools.com/xml/ajax_intro.asp

这不是确切的代码,但我认为您会了解如何与 ajax

竞争您的代码的主要思想
function sendmyform(){
    var val = $('#myfield').val();
    $('#loadingbar').show();
    $.ajax({
        method: "POST",
        url: "download.php",
        data: { name: val }
    })
    .done(function( msg ) {
        //msg here is the returned data from dowload.php
        $('#loadingbar').hide();
        $('#myfield').val('');
    });
};

HTML:

<div id="loadingbar" style="display:none">Loading...</div>
<input id="myfield" type="text" name="url" placeholder="Enter Page URL" required />
<input type="button" onclick="sendmyform()" value="Download" />

像这样:) 更多文档在这里 http://api.jquery.com/jquery.ajax/