本文介绍了使用Ajax并在laravel 5中返回json数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是AJAX的新手,我一直在尝试发送请求 ONSELECT使用AJAX并在laravel 5中收到JSON回复。

I am new to "AJAX" and I have been trying to send a request "ONSELECT" using "AJAX" and receive a "JSON" response in "laravel 5".

这是我的观点

<select>
<option data-id="a" value="a">a</option>
<option data-id="b" value="b">b</option>
<option data-id="c" value="c">c</option>
</select>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>

<script type="text/javascript">
$('select').change(function(){
var data = $(this).children('option:selected').data('id');

$.ajax({
    type    :"POST",
    url     :"http://localhost/laravel/public/form-data",
    dataType:"html",
    data    :{ data1:data },

    success :function(response)
    alert("thank u");
    }),
});
</script>

这是我的控制器接收ajax请求

Here is my Controller to receive ajax request

public function formdata(){
    $data = Input::get('data1');

    //somecodes

    return Response::json(array(
                    'success' => true,
                    'data'   => $data
                ));
}

这是我的路线

 Route::post('form-data',array('as'=>'form-data','uses'=>'FormController@formdata'));

我也试图仅用形式更改ajax的URL-数据 {{Url :: route('form-data')}}

推荐答案

出于安全原因,Laravel 5使用csrf令牌验证....试试这个......

Laravel 5 uses csrf token validation for security reasons....try this...


  1. 在routes.php

  1. In routes.php

route post('form-data', 'FormController@postform');


  • 在主布局文件中

  • In master layout file

    <meta name="csrf-token" content="{{ csrf_token() }}" />
    


  • var CSRF_TOKEN = $('meta[name="csrf-token"]').attr('content');



    $.ajax({
        url: '/form-data/',
        type: 'POST',
        data: {_token: CSRF_TOKEN},
        dataType: 'JSON',
        success: function (data) {
            console.log(data);
        }
    });
    


  • 这篇关于使用Ajax并在laravel 5中返回json数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

    08-20 12:22