【问题标题】:Post data and load form fields using Ajax and Laravel 5.2使用 Ajax 和 Laravel 5.2 发布数据和加载表单字段
【发布时间】:2018-05-27 18:19:38
【问题描述】:

我有一个病人的预约表格......预约表格包含病人先生号码,姓名,电话,日期,时间等字段......我想要的是当用户在表格的先生字段中输入先生号码时如果该患者的数据在数据库中可用,则应使用该患者的数据加载其他字段...我无法调用 ajax 并以表单形式加载数据.....请帮助

预约表格:

Ajax 调用:

 $('#mr_number').on('keyup',function(){

          $.ajax({
              type: 'post',
              url: '/',
              data: {'mr_number':$('input[name=mr_number]').val()},
              dataType: 'JSON',
              success: function (data) 
              {
                console.log(data);  
              }
          });
    });

路线:

Route::post('/','AppointmentsController@searchpatient')->name('patient.search');

搜索将返回表单字段数据的患者函数:

 public function searchpatient(Patient $mr_number)
    {
        return ($mr_number);

    }

【问题讨论】:

  • 好吧,快速浏览一下,您的 ajax 调用正在执行 dataType: 'JSON',它表示响应 必须 是 json。但是您的 searchpatient 方法只是返回 $mr_number 对象。你的路由器知道把它变成 json 吗?
  • 我没有编写该代码来转换为路由器的 JSON....我是 ajax 新手,所以不太了解如何通过 ajax 调用或发布数据...

标签: php jquery ajax forms laravel-5.2


【解决方案1】:

首先这是在 ajax 调用之外分配 mr_number

var mr_number = $('input[name=mr_number]').val();     

lravel ajax 调用需要有 _token 用于 CSRF 阻塞

$.ajax({
    type: "POST",
    url: '/',
    data: {_token:'{{ csrf_token() }}',
            mr_number:mr_number},
    success: function(data){
        console.log("Success " + JSON.stringify(data));
        },
        failure: function(data){
            console.log("Error " + JSON.stringify(data));
        }
    });

//在你的控制器内部

public function searchpatient(Request $request){
    return response()->json($request->input('mr_number'));
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-11
    • 2011-05-31
    相关资源
    最近更新 更多