将json文件从javascript发送到laravel控制器时出现问题
我在尝试将JSON文件从javascript发送到Laravel控制器时遇到问题,当我在视图中按下按钮时,我没有得到任何响应 这是我的代码,我感谢任何帮助或建议,谢谢 这是JS代码的最新版本:将json文件从javascript发送到laravel控制器时出现问题,javascript,php,json,ajax,laravel,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(horari
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;
}
}
谢谢你的帮助。你用什么来调试你的请求?您是否检查了
存储/logs/framework/laravel.log
(如果您的日志很大,您可以随时删除它并重新运行请求)
在调试请求时,使用AJAX可能会变得棘手。
我的建议是
config/app.php
下将debug
设置为true
,以实际查看调试希望这有帮助 我解决了我的问题,如果有人遇到类似的麻烦,我会发布它 在我看来,我不是在创建表单
{!! 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");
}
});
有了这个变化,我可以到达我的控制器
无论如何,谢谢。谢谢您的回复,我看到令牌有错误。TokenMismatchException然后您可能应该查看您的config/session.php文件,因为Token MismatchException是由于CSRF保护引起的,可能有一个表单没有发送CSRF令牌。