[英]laravel pass data from controller to jquery using json
I want to pass data from controller to jquery using json don't know where is the problem but fro the jquery code I think its working fine as I tested the success code but can't get back the result from controller 我想使用json将数据从控制器传递到jquery,不知道问题出在哪里,但是在jquery代码中,我认为它在我测试成功代码时可以正常工作,但无法从controller取回结果
home.blade 刀片
<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 web.php
Route::post('Get_distance','HomeController@getdistance');
controller 控制者
public function getdistance(Request $request)
{
$distance =$request->postal_code;
return Response::json(array(
'distance' => $distance,
));
}
将您的ajax类型更改为POST
,因为您的路由类型是POST
而不是GET
。
Your defined route in web.php is a POST request, but your Ajax method is set to GET request. 您在web.php中定义的路由是POST请求,但是您的Ajax方法设置为GET请求。 Change web.php to a GET request for it to work.
将web.php更改为GET请求以使其正常工作。 Make sure to provide an error function to catch any errors from server side.
确保提供错误功能以捕获服务器端的所有错误。
Or vice versa, change Ajax request to POST since you already added the csrf setup. 反之亦然,因为您已经添加了csrf设置,所以将Ajax请求更改为POST。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.