在使用简单的 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 中的其他页面可以通过 include
或 file_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/
我对 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 中的其他页面可以通过 include
或 file_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/