【发布时间】:2015-07-21 08:17:14
【问题描述】:
在 LARAVEL 4 中使用 AJAX 提交后如何使页面不刷新?
//xx.blade.php
{{ Form::open(['url' => '/booking/unit', 'method' => 'POST', 'id' => 'readForm']) }}
{{ Form::hidden('bookingid', $booking->id) }}
{{ Form::hidden('unitid', $booking->unit) }}
<button class="btn btn-warning" data-toggle="collapse" data-target="#{{$booking->id}}" type="submit">{{ $booking->status }}</button>
{{ Form::close() }}
我尝试过的另一种方法:
<form method="post" action="../booking/unit/" id="readForm" >
<input value="{{$booking->id}}" hidden name="bookingid" />
<input value="{{$booking->unit}}" hidden name="unitid" />
<button class="btn btn-warning" type="submit" id="readBtn" >{{ $booking->status }}</button>
</form>
//js
$("document").ready(function(){
$("#readForm").submit(function(){
data = $(this).serialize();
$.ajax({
type: "POST",
dataType: "json",
url: "../booking/unit",
data: data,
success: function(data) {
alert("Form submitted successfully.\nReturned json: " + data["json"]);
}
});
return false;
});
});
我的页面还在刷新。为什么?
更新 [2015 年 7 月 22 日] 我实际上有多个表格行,表格具有相同的 ID。除了表单的第一行之外,导致刷新发生。我已将表单 id 更改为 class,这就解决了!谢谢大家!你们太棒了,答案很有价值。下次我会格外小心。 :D
【问题讨论】:
-
尝试阻止
form submit像$("#readForm").submit(function(event){event.preventDefault()});后跟正常代码!! -
检查浏览器控制台是否有错误。
-
@TheAlpha 无法看到控制台,因为页面已刷新。
标签: javascript php jquery ajax laravel