【发布时间】:2016-12-16 00:54:49
【问题描述】:
我创建了一个表单来将数据提交到数据库中。当我不使用 AJAX 时,这工作正常。
即使在添加 ajax 之后,它也会将我带到另一个页面并显示文本,即我在控制器中返回的内容。
我的控制器功能
public function newAppointment(Request $request){
// Validate the request...
$this->validate($request, [
'name' => 'required',
'email' => 'email|required',
'mobile' => 'numeric|required',
'date' => 'date|required',
'time' => 'required',
]);
$otp = rand(100000, 999999);
$schedule = new \App\Schedules;
$schedule->name = $request->name;
$schedule->email = $request->email;
$schedule->mobile = $request->mobile;
$schedule->date = $request->date;
$schedule->time = $request->time;
$schedule->save();
$id = $schedule->id;
$verify = array('otp'=>$otp, 'id'=>$id);
echo json_encode(array('verify'=> $verify));
}
Ajax 脚本
<script type="text/javascript">
$(document).ready(function (e){
$("#newAppointment").on('submit',(function(e){
e.preventDefault();
$.ajax({
url: "appointment",
type: "POST",
data: {name: $("#name").val, email: $("#email").val, mobile: $("#mobile").val, date: $("#date").val, time: $("#time").val },
contentType: "application/json",
cache: false,
processData:false,
success: function(data){
alert("Success");
},
error: function(data){
alert(data.error->first());
}
});
}));
});
</script>
当我点击提交按钮时,我会在新页面中获得一些文本作为输出,即我在控制器中返回的内容。
提交表单后如何在同一页面上。
{"verify":{"otp":847042,"id":44}}
【问题讨论】:
-
您在提交表单后仍然被重定向?这是你的主要问题吗?
-
如果我正确理解您的问题,您不希望在提交表单点击后重定向。您必须将提交按钮的类型更改为按钮或在 Ajax 请求后添加返回 false;声明
-
是的,当我点击提交按钮时,我被重定向到一个空白页面,其中包含我在控制器上返回的文本..