簡體   English   中英

Ajax - 使用 jquery 提交時重新加載頁面

[英]Ajax - page reloading on submit with jquery

我有一個簡單的網上商店,我正在嘗試添加多個運輸選項。 有兩個選項,我想將客戶選擇的選項存儲在 session(或 cookie)中。

php 腳本似乎可以自行運行,但會導致頁面重新加載,因此我一直在嘗試使用 jquery 來實現 ajax 以發送數據重新加載或代碼不會運行。

我試圖遵循幾個答案,包括將button替換為type="submit"但這會導致代碼似乎根本沒有執行。 .on中添加'click'會觸發代碼,但也會導致重新加載。 我檢查了控制台,沒有發現任何問題。 謝謝你的幫助。

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 響應后未更新值

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM