Pra*_*har 0 php ajax laravel-5.2
如果请求是有效的ajax请求,我们如何检查Laravel 5.2.在codeigniter中,我们可以像$ this-> input-> is_ajax_request()一样检查它.Laravel 5.2有类似之处吗?
另外,我想知道我们如何验证对csrf令牌的请求.如果我通过'web'中间件生成csrf令牌然后将此令牌作为ajax请求参数传递,我的网页是否正常?Laravel是否会负责验证令牌或者是否有替代方法?
我已经检查了laravel 5.2文档,因为这是我第一次处理laravel框架,所以文档似乎假定读者已经熟悉框架的早期版本.对于像我这样的新人来说,这有点压倒性.
提前致谢.如果您需要我更多的意见,请告诉我.
Prakhar
小智 7
我想这可能会帮助你找到一个在Laravel中使用AJAX的基本方法.
这是一段非常古老的代码,但它的工作原理是jajajaja
控制器端:
/**
* @param Request $request
* @return \Illuminate\Http\JsonResponse
*/
public function getRamos(Request $request)
{
$check = Ramo::find($request->input('ramo'));
$subramos = Subramo::where('ramo_id', $check->id)->get(['nombre_subramo']);
if($request->ajax()){
return response()->json([
'subramos' => $subramos
]);
}
}
Run Code Online (Sandbox Code Playgroud)
在前面:
<script>
$(document).ready(function(){
$('#ramo').change(function(){
var ramo, token, url, data;
token = $('input[name=_token]').val();
ramo = $('#ramo').val();
url = '{{route('getRamos')}}';
data = {ramo: ramo};
$('#subramos').empty();
$.ajax({
url: url,
headers: {'X-CSRF-TOKEN': token},
data: data,
type: 'POST',
datatype: 'JSON',
success: function (resp) {
$.each(resp.subramos, function (key, value) {
$('#subramos').append('<option>'+ value.nombre_subramo +'</option>');
});
}
});
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
将"#ramo"视为选择输入并使用style/html包,其中令牌作为隐藏输入传递.