将json文件从javascript发送到laravel控制器的问题

时间:2016-07-21 03:13:51

标签: javascript php json ajax laravel

我在尝试将jSON文件从javascript发送到Laravel控制器时遇到问题,当我从视图中按下我的按钮时我没有得到任何响应。

这是我的代码,我感谢任何帮助或建议,谢谢。

这是JS代码:

var horarios= { Lunes: arrLunes, Martes: arrMartes, Miercoles: arrMiercoles, Jueves:arrJueves, Viernes:arrViernes};

var schedule = JSON.stringify(horarios);

//console.log(schedule);
var varurl= 'http://localhost/registerEntrance';

$.ajax({
   type: "POST",
   url: varurl,
   data: {json:schedule},
   dataType:'json',
   success: function(res) {
    var message = res.mesg;
    if (message) {
        $('.flash').html(message).fadeIn(300).delay(250).fadeOut(300);
    };
}
});

当我按下我的按钮时,没有发生任何事情。路由和控制器代码的下一个ID,JSON文件尚未到达。

Route::post('registerEntrance', array('as' => 'registerEntrance','uses' => 'CursoController@regisEnt'));

public function regisEnt(){
  if(Request::ajax()) {
    $data = Input::all();
    return $data;
  }
}

寻求任何帮助。

2 个答案:

答案 0 :(得分:0)

您使用什么来调试请求?您是否检查了storage/logs/framework/laravel.log (如果您的日志很大,您可以随时删除它并重新运行您的请求)

在调试请求时,使用AJAX会变得棘手。 我的推荐是

  1. 打开浏览器Inspector,并监控网络请求
  2. 分析您发送的请求。
  3. debug设置为true下的config/app.php以实际查看调试
  4. 希望这有帮助!

答案 1 :(得分:0)

我解决了我的问题,如果有人遇到类似的不便,我会发布它。

在我看来,我没有创建表格。

{!! Form::open(['route' => ['route'], 'method' => 'POST', 'id'  =>'form-name']) !!}
{!! Form::close() !!}

这部分创建了一个隐式标记,在laravel中使用ajax方法是必需的。

我的代码JS被修改为获取并发送csrf令牌。

var form = $('#form-name');
var myurl = form.attr('action');
crsfToken = document.getElementsByName("_token")[0].value;

$.ajax({
        url: myurl,  
        type: 'POST', 
        data: {data:data},
        datatype: 'JSON',
        headers: {
                "X-CSRF-TOKEN": crsfToken
            },

        success: function(text){
          bootbox.dialog({
            closeButton: false,
            message: "Ok!",
            title: "Perfect!!",
        },
        error: function(data){
           console.log("Error");
        }
    });

有了这个改变,我就会到达我的控制器。

无论如何都有。