使用MethodNotAllowedHttpException
提交表单数据时出现错误ajax
。
HTML
<form class="form-signin" id="loginForm" role="form" method="POST">
// Form
</form>
<script>
$('#loginForm').submit(function () {
initLogin($('#email').val(),$('#password').val());
});
</script>
的JavaScript
function initLogin(email, password) {
$.ajax( {
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
url:'loginModal',
method:'POST',
data: {
strEmail: email,
strPassword: password
},
success: function( bolUpdated ) {
alert('yes');
},
fail: function() {
alert('no');
}
});
}
路线
Route::post( 'loginModal', 'Auth\LoginController@loginModal' );
控制器
public function loginModal( Request $request ) {
Log::info('test');
}
我尝试更改表单的类型,但没有运气。知道可能是什么问题吗?
答案 0 :(得分:1)
如果您要使用ajax
,则必须停止提交表单 $('#loginForm').submit(function (e) {
e.preventDefault(); //<-- here
initLogin($('#email').val(),$('#password').val());
return false; //<---- or here
});
否则表格会向当前页面发送一个发布请求(因为没有行动),该请求没有发布请求的路由。
答案 1 :(得分:1)
阻止表单的默认事件,因为您尚未为表单定义任何操作,并且其请求正在发送到当前页面
$('#loginForm').submit(function (event) {
event.preventDefault();
initLogin($('#email').val(),$('#password').val());
});