函数在路径中时ajax post工作,但在路由器到控制器中的功能时返回错误500

时间:2016-03-21 05:26:42

标签: ajax laravel-5

我正在尝试在laravel 5中发布ajax,但是当我在控制器中使用该功能时它工作正常但是当我尝试链接到控制器时,它返回错误500(内部服务器错误)

我的JS

$.ajaxSetup({
    headers: {
        'X-CSRF-TOKEN': '{{ csrf_token() }}'
    }
});

$.ajax({
        url: 'myLink',
        type: "post",
        data: {
            'start': start.format('YYYY-MM-DD'),
            'end': end.format('YYYY-MM-DD')
        },
        success: function(data){
            alert(data);
        },
        error: function(){ 
            alert("error!!!!");
        }
    });

我的路线(不工作)

Route::post('/admin/getStoreIncome',  'Admin@method');

我的路线(工作)

Route::post('/admin/getStoreIncome',  function()
{
    if(Request::ajax()) {
            $data = Input::all();
            print_r($data);die;
        }
});

我的控制器

public function method() {
        if(Request::ajax()) {
            $data = Input::all();
            print_r($data);die;
        }
    }

我用于控制器的命名空间

namespace App\Http\Controllers;

use App\Http\Requests;
use App\Http\Controllers\Controller;

use Illuminate\Http\Request;
use Carbon\Carbon;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\Input;
use Illuminate\Support\Facades\Redirect;

我在这里做错了吗?我需要csrf的会话命名空间吗?如果有人有这方面的经验,请帮助。

1 个答案:

答案 0 :(得分:0)

我不确定我的回答会对你有所帮助,但是通过Jquery我已经完成了
我有一个DropDown OnChange我在我的控制器中发送选定的值然后我在我的视图页面上得到响应

    (function($) {
           $('#bath').on('change', function() {
              var optionSelected = $(this).find("option:selected");
              var prop_type = optionSelected.val();

            $.ajax({
                   type: "GET",
                   url: "baths", //my Controller Function
                   dataType: "json",
                   data: {baths: prop_type},
                   success:function(row)
                {
                     $('#getRequestdata').empty('clear').html(row.html);
                }
             }); 
         });

    })(jQuery);

我希望它能帮到你!!!