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