繁体   English   中英

laravel使用json将数据从控制器传递到jquery

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM