Javascript 自动更新页面上的内容,而无需重新加载整个页面
我想创建一个程序,如下所示,但我一直在思考如何解决这个问题:Javascript 自动更新页面上的内容,而无需重新加载整个页面,javascript,php,html,Javascript,Php,Html,我想创建一个程序,如下所示,但我一直在思考如何解决这个问题: 用户在index.php index.php验证输入的水果是否确实是水果 现在我在谷歌的第1页搜索水果,看看是否有水果。然后搜索第2页,然后搜索第3页,依此类推,直到我到达第100页。此搜索需要5分钟 我的问题是: 我知道如何鉴别水果。我知道如何寻找水果。当我在页面上找到一个水果时,如何添加结果以立即显示给用户 还有,我如何跟踪我已经搜索过的页面?例如,如果我一直搜索到第15页,我就不想再回到第3页。我的安全大脑告诉我,不要让用户在本
index.php
index.php
验证输入的水果是否确实是水果index.php
<?php
if(isset($_POST['fruit'])) {
authenticate_fruit($fruit);
// Now start the search
}
function authenticate_fruit($fruit) {
$valid_fruits = ['banana', 'apple', 'pear'];
$lowercase_fruit = strtolower($fruit);
if(in_array($lowercase_fruit, $valid_fruits)) {
return true;
}
return false;
}
?>
<form action="/index.php" method="get">
<label for="fruit">Fruit:</label><br>
<input type="text" name="fruit"><br>
</form>
<?php
if(isset($_POST['fruit']) && isset($_POST['page'])) {
if (authenticate_fruit($_POST['fruit']) &&
authenicate_page($_POST['page'])) {
search_for_fruit($fruit, $page);
}
}
/* Mock up function for searching for fruit on google
* @return result array if fruit found, else return false
*/
function search_for_fruit($fruit, $page) {
// Symbolizing that it takes about 1-3 seconds to load a page
sleep(rand(1,3));
if ($page % 3 && rand(1,2) == 1) {
$result['sweetness'] = rand(1,100);
$result['calories'] = rand(1,5000);
$result['healthiness'] = rand(1,100);
return $result;
}
return false;
}
function authenticate_fruit($fruit) {
$valid_fruits = ['banana', 'apple', 'pear'];
$lowercase_fruit = strtolower($fruit);
if(in_array($lowercase_fruit, $valid_fruits)) {
return true;
}
return false;
}
function authenicate_page($page) {
if (ctype_digit($_POST['page']) &&
$_POST['page'] > 0 &&
$_POST['page'] <= 100) {
return true;
}
return false;
}
?>
水果:
searcher.php
<?php
if(isset($_POST['fruit'])) {
authenticate_fruit($fruit);
// Now start the search
}
function authenticate_fruit($fruit) {
$valid_fruits = ['banana', 'apple', 'pear'];
$lowercase_fruit = strtolower($fruit);
if(in_array($lowercase_fruit, $valid_fruits)) {
return true;
}
return false;
}
?>
<form action="/index.php" method="get">
<label for="fruit">Fruit:</label><br>
<input type="text" name="fruit"><br>
</form>
<?php
if(isset($_POST['fruit']) && isset($_POST['page'])) {
if (authenticate_fruit($_POST['fruit']) &&
authenicate_page($_POST['page'])) {
search_for_fruit($fruit, $page);
}
}
/* Mock up function for searching for fruit on google
* @return result array if fruit found, else return false
*/
function search_for_fruit($fruit, $page) {
// Symbolizing that it takes about 1-3 seconds to load a page
sleep(rand(1,3));
if ($page % 3 && rand(1,2) == 1) {
$result['sweetness'] = rand(1,100);
$result['calories'] = rand(1,5000);
$result['healthiness'] = rand(1,100);
return $result;
}
return false;
}
function authenticate_fruit($fruit) {
$valid_fruits = ['banana', 'apple', 'pear'];
$lowercase_fruit = strtolower($fruit);
if(in_array($lowercase_fruit, $valid_fruits)) {
return true;
}
return false;
}
function authenicate_page($page) {
if (ctype_digit($_POST['page']) &&
$_POST['page'] > 0 &&
$_POST['page'] <= 100) {
return true;
}
return false;
}
?>
使用AJAX。你可以搜索和尝试很多教程。这是否回答了你的问题?