我在提交触发器时提交表单。我怎么都无法创建用户记录。我告诉你代码。
<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>
在js文件中:
$('#form_1').submit(function(){
var formData = new FormData((this)[0]);
$.ajax({
type: "POST",
url: "../../api.php",
data: { action: "isSubmit", formData: formData},
processData:false,
contentType:false,
success: function(data){
$("#thankyou").show();
}
})
return false;
});
$("#btnSubmit").click(function(){
var name = $("#name").val();
$.ajax({
type: "POST",
url: "../../api.php",
data: { action: "checkInputData", name: name}
})
.done(function(data){
data = $.parseJSON(data);
if ( data.status == 0 ){
$('#form_1').trigger('submit');
}
api.php:
if( $action == "isSubmit"){
$name= isset($_POST["name"])?$_POST["name"]:null;
createUser($conn, $name);
}
我发现提交的流程不正确。 以上代码的流程是当我触发提交然后落入成功显示thankyou div,但没有创建用户记录。
但是如果我在ajax中删除了“return false”,则流程将变为:触发提交然后落入成功显示thankyou div然后重定向到api.php然后完成。在这种情况下,我可以创建用户记录。
我的目标结果应该是我触发提交然后落入成功显示thankyou div并创建用户记录。我怎样才能做到这一点?有没有“返回虚假”之间的差异是什么。