【发布时间】:2015-08-12 04:21:38
【问题描述】:
我正在尝试在 laravel 中使用 ajax 提交登录表单,但似乎 ajax 部分不起作用。下面是我的 login.blade.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap-theme.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
</head>
<body>
<div class="secure">Secure Login form</div>
{!! Form::open(array('url'=>'account/login','method'=>'POST', 'id'=>'myform')) !!}
<div class="control-group">
<div class="controls">
{!! Form::text('email','',array('id'=>'','class'=>'form-control span6','placeholder' => 'Email')) !!}
</div>
</div>
<div class="control-group">
<div class="controls">
{!! Form::password('password',array('class'=>'form-control span6', 'placeholder' => 'Please Enter your Password')) !!}
</div>
</div>
{!! Form::button('Login', array('class'=>'send-btn')) !!}
{!! Form::close() !!}
<script type="text/javascript">
$(document).ready(function(){
$('.send-btn').click(function(){
$val=$('input[name=email]').val();
$token=$('input[name=_token]').val();
//alert($val+$token);
$.ajax({
url: '/account/login',
type: "post",
data: {'email':$('input[name=email]').val(), '_token': $('input[name=_token]').val()},
success: function(data){
alert(data);
}
});
});
});
</script>
路由.php
Route::get('account/login', function() {
return View::make('login');
});
Route::post('account/login', 'AccountController@login');
在控制器中
public function login() {
if(Request::ajax()) {
$data = Input::all();
print_r($data);
die;
}
}
我尝试在成功之前提醒 ajax 部分中的输入值,它会打印输出但成功提醒不起作用。
【问题讨论】:
-
您的 ajax 请求是否使用 X-Requeted-With 标头发送?如果不是,那么 Request::ajax() 将失败
-
@MarounBaydoun。我关注了tutsnare.com/post-data-using-ajax-in-laravel-5 这个教程。我是 laravel 的新手
-
在浏览器控制台中检查服务器响应,看看发生了什么错误
-
在提交表单时检查是否有任何错误(使用 firebug)。
-
@MarounBaydoun,yes .console 错误说密码字段出现在不安全的 (http://) 页面上。这是一种安全风险,会导致用户登录凭据被盗。[了解更多]
标签: javascript php ajax laravel laravel-5.1