提交表单而不重定向到操作页面,但刷新当前页面


Submit form without redirect to action page, but refresh current page

我有一个表格发布到购物车.php页面,提交表单后它会重定向到购物篮.php页面并返回订单页面(表单所在的页面)。 它发生得很快,但您仍然可以看到购物篮页面一秒钟,我如何阻止表单显示购物篮.php页面,但仍刷新当前页面(订单页面)。

我的代码:

<?php
echo '<div class="food">'; 
echo '<form method="post" action="basket.php"    
    onsubmit="window.location.reload()" >';
echo '<h4>'.$obj->food_title.'</h4>';
echo '<div class="pic"><img src="admin/food_images/'.$obj->food_image.'" 
    width= "180" height= "160"></div>';
echo "<p><b>£".$obj->food_price."</b></p>";
echo '<div class = "btn"><a href="info.php?foo_id='.$obj->food_id.'" 
    style="float:left">INFO</a></div>';
echo '<div class = "add_b"><button>Add to Basket</button></div>';
echo '<input type="hidden" name="food_code" 
    value="'.$obj->food_id.'"  />';
echo '<input type="hidden" name="type" value="add" />';
echo '</form>';
echo '</div>';
?>

从购物篮中剪切代码.php并将其粘贴到主页顶部,前面是

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
  //basket.php code here 
}

然后,将表单代码更改为

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">

这将刷新页面并执行页面顶部的 php 代码。

嗨,

这是一个简单的 ajax 表单提交文件,试试这个,

索引.html:

<!DOCTYPE html>
<html>
<title>AJAX Tutorial</title>
<head>
<link href="css/bootstrap.css" type="text/css" rel="stylesheet" />
<script src="https://code.jquery.com/jquery-2.1.3.js"></script>
</head>
<body>
<div class="container">
  <form id="add-basket-form" class="form-inline">
    <div class="form-group">
      <label class="sr-only" for="exampleInputAmount">Name</label>
      <div class="input-group">
        <input type="text" class="form-control" id="name" name="name" placeholder="name">
      </div>
    </div>
    <div class="form-group">
      <label class="sr-only" for="exampleInputAmount">Age</label>
      <div class="input-group">
        <input type="text" class="form-control" id="age" name="age" placeholder="age">
      </div>
    </div>
    <div class="form-group">
      <div class="input-group">
        <input type="submit" class="form-control" name="add" value="Add" placeholder="age">
      </div>
    </div>
  </form>
</div>
<script>
jQuery(function(){
    $('#add-basket-form').submit(function(){
        var name = $('#name').val();
        var age = $('#age').val();
        $.ajax({
            url : 'basket.php',
            dataType : 'JSON',
            type : 'post',
            data: {
                'name' : name,
                'age' : age,
            },
            success: function(data) {
                console.log(data);
            }
        });
        return false;
    });
});
</script>
</body>
</html>
<?php
    $name = $_POST['name'];
    $age = $_POST['age'];
    // Above is the way to get variables and you can process whatever you want
    echo 'success';
?>

也许这会有所帮助。包含各种答案,有些涉及使用绝对网址 提交表单后刷新页面

要阻止操作简要显示购物车页面,我不确定您是否可以阻止访问该页面。购物篮.php在屏幕上打印任何东西吗?我认为它只是为了处理传入的 POST 变量,然后转到您的订单页面,对吧?