使用Laravel 5.4请求Ajax
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Laravel 5.4请求Ajax相关的知识,希望对你有一定的参考价值。
我试图用Laravel 5.4做一个Ajax请求的例子。
测试示例很简单,只需在我的View中的input = text字段中输入一个数值,然后将该字段保存到Controller,然后将+ 10添加到该值,然后将该值返回到我的View,以便它可以显示在警报。
<!DOCTYPE html>
<head>
<title></title>
</head>
<body>
<form action="">
Valor: <input type="text" id="valor" name="valor" />
</form>
</body>
</html>
JS:js文件在viewteste.blade.php里面,我只是将它拆分以便于解释。
<script>
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$(document).ready(function(){
$("#valor").on('blur', function()
{
valor = $(this).val();
$.ajax({
type:'POST',
url:"{{ URL::to('/teste/valor') }}",
dataType: 'JSON',
data: {
"valor": valor
},
success:function(data){
alert('Success');
},
error:function(){
alert('Error');
},
});
});
});
</script>
路线
Route::get('/teste', 'TesteAjaxController@index');
Route::post('/teste/valor', 'TesteAjaxController@valor');
调节器
class TesteAjaxController extends Controller
{
public function index()
{
return view('painel.viewteste');
}
public function valor(Request $request)
{
$valor= $request->input('valor');
$valor += 10;
return $valor; // How do I return in json? in case of an error message?
}
}
总是当我尝试通过ajax发送请求时,它会进入警报状态('错误')。是我在发送ajax或路由时做错了吗?
答案
返回一个json响应。你需要使用。
response()->json([
'somemessage' => 'message',
'valor' => $valor
]);
更新:您收到错误提示,因为我认为您的路由方法与您的控制器方法不匹配。
Route::post('/teste/valor', 'TesteAjaxController@valor');
你控制器里的位置
public function cep() ...
以上是关于使用Laravel 5.4请求Ajax的主要内容,如果未能解决你的问题,请参考以下文章