Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Ajax-使用jquery提交时重新加载页面_Php_Jquery_Ajax_Forms - Fatal编程技术网

Php Ajax-使用jquery提交时重新加载页面

Php Ajax-使用jquery提交时重新加载页面,php,jquery,ajax,forms,Php,Jquery,Ajax,Forms,我有一个简单的webstore,我正在尝试添加多个配送选项。有两个选项,我想将客户选择的选项存储在会话中(或者存储在cookie中) php脚本似乎独立工作,但会导致页面重新加载,因此我一直在尝试使用jquery实现ajax来发送数据,但要么代码不运行,要么页面重新加载 我尝试了几种答案,包括用按钮替换type=“submit”,但这会导致代码看起来根本无法执行。将“单击”添加到。on会触发代码,但也会导致重新加载。我已经检查了控制台,没有发现任何问题。谢谢你的帮助 jQuery $(funct

我有一个简单的webstore,我正在尝试添加多个配送选项。有两个选项,我想将客户选择的选项存储在会话中(或者存储在cookie中)

php脚本似乎独立工作,但会导致页面重新加载,因此我一直在尝试使用jquery实现ajax来发送数据,但要么代码不运行,要么页面重新加载

我尝试了几种答案,包括用
按钮
替换
type=“submit”
,但这会导致代码看起来根本无法执行。将
“单击”
添加到
。on
会触发代码,但也会导致重新加载。我已经检查了控制台,没有发现任何问题。谢谢你的帮助

jQuery

$(function(){
   $('#shipping_form').on('submit', function(e){
      e.preventDefault();

      var ship = $('input[name="shipping_val"]').val();
      $.ajax({
         type: 'GET',
         data: { discount: ship },
         success: function(data) {
            //go to next section
         }
      });
      return false;
   });
});
HTML/PHP

<?php
Session_start();
if(isset($_GET['shipping_submit'])){
  $shipping_get = $_GET['shipping_val'];
}else{
  $shipping_get = '3.99';
}
$_SESSION['shipping'] = $shipping_get ;

?>
<html>
<main class="container">


<form method="GET" name="shipping_form" id="shipping_form" action="">
  <p>Please choose your prefered shipping method.</p>
    <input type="radio" name="shipping_val" value="3.99" checked>
    <label for="shipping_val">
      Standard delivery
    </label>
    <input type="radio" name="shipping_val" value="6.99" >
    <label for="shipping_val">
      Express delivery
    </label>

    <button type="submit" id="shipping_submit" name="shipping_submit" >Update</button>
    <?php
    echo '<h1>' . $_SESSION['shipping'] . '</h1>';
    ?>
</form>```


请选择您喜欢的运输方式

标准交付 快递 更新 ```
您的问题可能是使用AJAX将数据提交到调用它的同一个文件中。您的ajax端点(PHP端)需要是不同的PHP文件

见另一个问题:


您的问题可能是使用AJAX将数据提交到调用它的同一个文件中。您的ajax端点(PHP端)需要是不同的PHP文件

见另一个问题:


您应该在带有端点的ajax中添加URL。您应该在带有端点的ajax中添加URL。谢谢,如果我将ajax端点(PHP)放在一个单独的文件中,成功后是否可以通过ajax返回会话
$\u
?我意识到ajax可以提供json。是的,您可以在另一个PHP文件中设置$\u会话变量,但不需要返回$\u会话变量,您可以使用
echo
直接返回数据。谢谢,如果我将ajax端点(PHP)放在一个单独的文件中,成功后是否可以通过ajax返回
$\u会话
?我意识到ajax可以提供json。是的,您可以在另一个PHP文件中设置$\u会话变量,但不需要返回$\u会话变量,您可以使用
echo
直接返回数据。你可能也会觉得有用。