我尝试在完成ajax请求后提交表单。我做的代码如下。但是,当我点击按钮ajax请求转到并发送200 ok反馈。但在那之后表格没有提交。这段代码出了什么问题?
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
$('document').ready(function(){
$('#submit').on('click',function(){
$.post('cart.php',{email:'email',pkgname:'pkgname'}).then(function(){
$('form').submit();
});
});
});
</script>
</head>
<body>
<form action="cart.php" method="post">
<input type="button" id="submit" value="submit" />
</form>
</body>
</html>
答案 0 :(得分:0)
尝试构建$.post
请求,例如:
$.post('cart.php', {email:'email',pkgname:'pkgname'}, funtion(data){
console.log(data);//return the data from server if anything echoed in cart.php file
})
其中data
包含cart.php
返回的内容(我无法理解你为什么要发送表单两次)
答案 1 :(得分:0)
我更新了以下代码,我认为它没有从服务器获得响应我想你更新这个并检查你会得到你的问题:
$('document').ready(function(){
$('#submit').on('click',function(){
$.post('cart.php',{email:'email',pkgname:'pkgname'}).success(function(data){
$('form').submit();
}).error(alert("Code has error"));
});
});
答案 2 :(得分:0)
这里回答我的问题。我不知道这怎么可能? :(我的提交按钮ID是我的问题的原因。你永远不会使用#submit作为ID。这将是一个问题!!这个bugger浪费了我的两天!!
所以正确的代码是
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
$('document').ready(function(){
$('#submit1').on('click',function(){
$.post('cart.php',{email:'email',pkgname:'pkgname'}).then(function(){
$('form').submit();
});
});
});
</script>
</head>
<body>
<form action="cart.php" method="post">
<input type="button" id="submit1" value="submit" />
</form>
</body>
</html>