我在尝试将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;
}
}
寻求任何帮助。
答案 0 :(得分:0)
您使用什么来调试请求?您是否检查了storage/logs/framework/laravel.log
(如果您的日志很大,您可以随时删除它并重新运行您的请求)
在调试请求时,使用AJAX会变得棘手。 我的推荐是
debug
设置为true
下的config/app.php
以实际查看调试希望这有帮助!
答案 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");
}
});
有了这个改变,我就会到达我的控制器。
无论如何都有。