【发布时间】:2018-09-07 03:46:25
【问题描述】:
我正在使用 laravel 5.5,并且我的控制器中有以下代码:
function booking(Request $request)
{
parse_str($request->getContent(), $info);
Session::put('quotation.flight.passengerDetails', $info);
return Session::get('quotation.flight.searchType');
}
这就是我的路线(web.php):
Route::post('ajax/flight/booking', 'Flight\flightController@booking');
这是我的 ajax
$.ajax({
url: flagsUrl + "ajax/flight/booking",
type: 'POST',
data: opts.bookingData,
contentType: "json",
success: function (view) {
opts.callback(view);
},
error: function (xhr, ajaxOptions, thrownError) {
opts.callback("");
}
});
当我使用 POST 通过 ajax 调用路由时,$info 不会分配给 quotation.flight.passengerDetails 会话。
但是当我在 Chrome 开发者工具中使用 reply XHR 发出请求时,它确实有效?
【问题讨论】:
-
需要更多信息哪个变量没有被设置?
-
哦,$info 变量没有分配到 'quotation.flight.passengerDetails' 会话中
-
你收到的错误是什么
-
你在哪里调用 Session::save() 你的执行计划?
-
理论上它不应该是强制性的。在实践中,我发现它解决了我在 laravel 中的很多会话问题。我通常做的是确保广告结束我自己的个人流程,我在输出到浏览器之前调用 Session::save()。