Javascript 需要从表单中获取输入,使用php进行处理,并根据答案选择重新加载页面

Javascript 需要从表单中获取输入,使用php进行处理,并根据答案选择重新加载页面,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,这是我的问题 我在这个地址上有一个startpage网站: 它主要围绕首页中执行命令的搜索栏展开。目前,每个命令都是用php处理的,如下所示: if (isset($_POST['searchBar'])) { $originalcommand = $_POST['searchBar']; processcommand($originalcommand); return; } 这样,每个命令都会重新加载页面,这是一种浪费,因为大多数时候它只是从起始页面打开一些链接。在其

这是我的问题

我在这个地址上有一个startpage网站:

它主要围绕首页中执行命令的搜索栏展开。目前,每个命令都是用php处理的,如下所示:

if (isset($_POST['searchBar'])) {
    $originalcommand = $_POST['searchBar'];
    processcommand($originalcommand);
    return;
}
这样,每个命令都会重新加载页面,这是一种浪费,因为大多数时候它只是从起始页面打开一些链接。在其他情况下,startpage由命令更改,因此在这些情况下,我希望重新加载页面

我从其他问题中看到,您可以不使用AJAX重新加载页面,但我看到的答案中没有一个将表单输入发送到php进行处理,也没有包括在必要时重新加载的选项


我是一个非常业余的程序员,对AJAX没有任何经验,请不要对我太过技术化。我痴迷于这个起始页,我只需要让它按预期工作。请帮忙

是的,您应该通过AJAX发送数据。一个流行的选择是使用。下面是一个使用jQuery的简化示例

首先,HTML:

 <input id="searchBar" name="searchBar" type="text" /> 
 <button id="submit">Search</button>
 <div id="searchResults"></div>

搜索
接下来是jQuery:

<script type="text/javascript">
    $("#submit").click(function() {
        $.ajax({
            type: "post",
            url: "search.php", // Your PHP file
            data: {
                searchBar:  $("#searchBar").val()
            },
            success:function(results) {
                 // Do something with your results
                 $("#searchResults").html(results);
            }
        });
    });
</script>

$(“#提交”)。单击(函数(){
$.ajax({
类型:“post”,
url:“search.php”//您的php文件
数据:{
搜索栏:$(“#搜索栏”).val()
},
成功:功能(结果){
//对你的结果做点什么
$(“#搜索结果”).html(结果);
}
});
});

如果直接使用PHP,则需要重新加载页面。如果你使用AJAX,那么你可以不用重新加载就发送它-您需要一个新的PHP文件来处理输入-!一个使用jquery但工作原理相同的示例:

您可以访问普通站点:

<form action=''>
        <input type='email' id='email' placeholder='E-Mail' required=""/>
        <input type='password' id='pwd' placeholder='Passwort' required=""/>

        <button id='go_login'>Go</button>
</form>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script>
  $('#go_login').click(function() {

    var bn = $('#email').val();
    var pw = $('#pwd').val();

    $.post('newphpsite.php', {'bn': bn, 'pw': pw}, function(data) {
       alert(data); //send back echo from PHP
    });

   return false; //The form is not sent and does not reload the page.
 });
</script>

去
$('go#u login')。单击(函数(){
var bn=$('#email').val();
var pw=$('#pwd').val();
$.post('newphpsite.php',{'bn':bn,'pw':pw},函数(数据){
警报(数据);//从PHP发回回声
});
return false;//表单不会发送,也不会重新加载页面。
});
newphpsite.php:

<?php 

  $bn = $_POST['bn'];
  $pw = $_POST['pw'];

  echo $bn."".$pw;

?>


?>

非常感谢,你让我离解决问题很近了。Ajax当前获取输入,并将其正确发送到php。但是,由于某些原因,当php文件尝试执行适当的操作时,它无法识别来自其链接到的其他php文件的命令。我得到的错误是:“致命错误:调用未定义的函数”。因此,如果我让php处理整个输入,它会工作,如果它从ajax获得输入,它不会。有什么想法吗?算了吧,我解决了那个问题。它还没有完全起作用,但我已经恢复了状态。谢谢。很抱歉延迟回复,最近几天我没有多少空闲时间。