代码如下
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<form action="login.php" method="POST">
<input type="text" name="name" id="name">
<input type="submit" name="" id="submit" value="提交">
</form>
<script type="text/javascript">
$("#submit").on("click",function(){
$.ajax({
type: "post",
url:"login1.php"
dataType: "json",
data: $("#signupForm").serialize(),
success: function (msg) {
alert(msg);
}
});
})
</script>
</body>
</html>
当我使用ajax提交表单的时候 提交的地址是取决于from的action参数还是ajax的url参数? 还有提交方式是取决于form的method参数还是ajax的type参数?
form的action可定会请求到,因为你没阻止表单提交,会导致表单提交请求action的地址。至于ajax由于提交表单刷新页面会释放js代码,不过也有可能有些浏览器处理快快会执行一次ajax请求的地址,但是这个不可知,所以尽量不用写出这种不可控的代码出来
$("#submit").on("click",function(){
$.ajax({
type: "post",
url:"login1.php"
dataType: "json",
data: $("#signupForm").serialize(),
success: function (msg) {
alert(msg);
}
});
return false;//阻止表单提交或者ajax改为同步的,这样ajax会请求完毕后再提交表单
})
我的需求就是想用ajax提交form表单 然后根据控制返回的状态弹出成功或者失败的弹窗,应该怎么改一下比较好,请大神赐教
在form表单里不要写action路径,直接在ajax里面的url里写,而且为了防止submite提交,把 type改为button
写一个触发ajax的事件 你可以用JQ拿到input 里的值 这个事件你自己定 这样就通过Ajax 提交过去了 然后ajax 返回json 你在对json 操作
我经常这么做的
ajax 真正的意义不就是 无刷新吗? 你这样不就失去本身的意义了吗?干错不用ajax不就行了? ajax我个人不在必须用的时候不爱用,因为数据不是那么容易监控