我有以下代码
在 Controller 中
class AccountController extends Controller
{
public function login(Request $request) {
$data=$request->all();
//print_r($request->all())
//return view('main',['data'=>$data]);
}
}
在途中
Route::get('account/login', function() {
return View::make('manager.test');
});
Route::post('account/login', 'AccountController@login');
登录 View
@extends('layout.manager')
@section('content')
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="csrf-token" content="{{ csrf_token() }}">
<title>Example of Bootstrap 3 Vertical Form Layout</title>
<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>
<style type="text/css">
</style>
<script type="text/javascript">
$(document).ready(function(){
$('.send-btn').click(function(){
$.ajax({
url: 'login',
type: "post",
data: {'email':$('input[name=email]').val(), '_token': $('input[name=_token]').val()},
success: function(data){
console.log(data);
}
});
});
});
</script>
</head>
<body>
<div class="bs-example">
<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() !!}
</body>
</html>
@stop
当我单击“提交”时,来自 ajax 的所有数据都将在我的浏览器控制台中打印。我尝试传递 ajax 值以在我的 Controller 中查看,但每次它返回 500 内部错误。任何人都可以告诉如何将 ajax 值传递给另一个查看以及我哪里做错了? 谢谢
更新
以下内容无效
public function login(Request $request) {
$data=$request->all();
$send= User::where('email','=', $data->email)
return view('main',['data'=>$send]);
}
public function login(Request $request) {
return Redirect::to('home');
}
每个想法都工作正常。唯一的问题是当我返回 View 时。它会在浏览器控制台中抛出 500 内部错误错误,否则如果我在 Controller 内打印 _r 那么它将在我的浏览器控制台中显示数据。
更新2
在我的 Controller 中
public function login(Request $request) {
$data=$request->all();
return $data;
}
Object { email: "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="dbb6bab5babcbea99bbcb6bab2b7f5b8b4b6" rel="noreferrer noopener nofollow">[email protected]</a>", _token: "gqqXvVfwbKRHQWczYNfFMmB9ZB943CLfLdG…" }
最佳答案
在 jquery 的成功回调中,您可以访问数据对象的每个元素,如演示所示
success: function(data){
alert(data.email);
alert(data._token);
}
关于php - 如何从ajax中检索数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32409652/