【发布时间】:2015-10-08 18:50:23
【问题描述】:
我使用 ajax 提交表单,但是当我完成整个过程时,它停在 api.php 并返回到 ajax 成功。 代码如下:
<form method="POST" id="form_1" action="../api.php" enctype="multipart/form-data" novalidate="novalidate">
<input type="text" name="name" id="name" value="Amy" readonly="readonly">
<input id="fileBox" class="fileUpload" type="file" name="img" accept="image/*" required>
<input type="hidden" name="isSubmit" value="1"/>
</form>
<a id="btnSubmit" href="javascript:void(0)">Submit</a>
$("#form_1").submit(function(){
var formData = new FormData(($this)[0]);
$ajax({
type: "POST",
url: "../../api.php",
data: { action:"formSubmit", formData:formData},
processData: false,
contentType: false,
success: function(){
console.log('success return');
}
})
});
$("#btnSubmit").click(function(){
if($("#form_1").valid()){
// inside click event handler you trigger form submission
$("#form_1").trigger('submit');
}
});
在我的 api.php 中
if($action=='formSubmit'){
$name = $_POST['name'];
if(createUser($name)){
return true;
}else{
return false;
}
}
我检查了数据库,记录创建成功。但我无法成功获得控制台。浏览器上的url显示的是api.php的路径。为什么我停在那里不能得到回报?
感谢您的帮助!!
我终于做到了!我在 ajax 之后缺少“return false”;但其实我真的不知道return false的作用;
$("#form_1").submit(function(){
var formData = new FormData((this)[0]);
$.ajax({
type: "POST",
url: "../../api.php",
data: { action: "formSubmit", formData: formData},
processData:false,
contentType:false,
success: function(data){
$("#thankyou").show();
}
})
return false;
});
【问题讨论】:
标签: javascript php jquery ajax forms