[英]Pass data from controller to view using JQuery Ajax in Laravel 5.4
[英]laravel pass data from controller to jquery using json
我想使用json将数据从控制器传递到jquery,不知道问题出在哪里,但是在jquery代码中,我认为它在我测试成功代码时可以正常工作,但无法从controller取回结果
刀片
<form role="form" name="form_address" id="form_address" action="" method="POST" enctype="multipart/form-data">
{{ csrf_field() }}
<input type="text" id="postal_code" onFocus="geolocate()">
<input type="text" id="totaldistance" onFocus="geolocate()">
</form>
<button id="save_address">Save</button>
<script>
$("#save_address").click(function (e) {
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content')
}
});
e.preventDefault();
var form = document.forms.namedItem("form_address");
var formData = new FormData(form);
$.ajax({
type: "get",
url: 'Get_distance',
contentType: false,
data: formData,
processData: false,
success: function(data) {
$('#totaldistance').val(data.distance);
}
});
});
web.php
Route::post('Get_distance','HomeController@getdistance');
控制者
public function getdistance(Request $request)
{
$distance =$request->postal_code;
return Response::json(array(
'distance' => $distance,
));
}
将您的ajax类型更改为POST
,因为您的路由类型是POST
而不是GET
。
您在web.php中定义的路由是POST请求,但是您的Ajax方法设置为GET请求。 将web.php更改为GET请求以使其正常工作。 确保提供错误功能以捕获服务器端的所有错误。
反之亦然,因为您已经添加了csrf设置,所以将Ajax请求更改为POST。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.