0
我嘗試從我的輸入傳遞值來建立一個過濾器,我需要獲得所有的值,傳遞給我的控制器和操縱,我puted輸入和創建所有關於控制器的東西,但由於某種原因,我的會話沒有得到我在字段中指定的值。我僅舉了一個例子,因爲代碼很長,重複了所有領域的邏輯。如何在Laravel 5.4中通過Session方法輸入值?
例如:
我需要得到'codigopedido的價值,所以我puted輸入與屬性:
<input type="text" class="form-control" name="codigopedido" id="codigopedido" placeholder="" value="{{ session('codigopedido') }}">
我在控制器中創建一個函數來處理該值
public function search(Request $request)
{
$order = Order::query();
if ($request->isMethod('post'))
{
$codigopedido;
$codigopedido = $data->codigopedido;
session(['codigopedido' => $codigopedido]);
if (strlen(session('codigopedido')) > 0)
{
$order = $order->where('erp_site', session('codigopedido'));
}
$content = $order->paginate(20);
if ($request->isMethod('post'))
{
return view('admin.order-table')->with('order', $content);
} else
{
return view('admin.order')->with('order', $content);
}
}
在我的JavaScript文件:
$(document).ready(function() {
$(document).on('blur', '#codigopedido', function() {
var codigopedido = $('#codigopedido').val();
searchRequest['codigopedido'] = codigopedido;
doSearch();
});
});
function doSearch() {
$.post(postSearch, {
'search_database': JSON.stringify(searchRequest),
'_token': $('meta[name=csrf-token]').attr('content'),
}
, function(data) {
$('#order-table').html(data);
});
}
筆者認爲:
<script src="{{ asset('assets/js/OrderSearch.js') }}"></script>
<script>
var postSearch = '{{ route('order::searchPost') }}';
var searchRequest = {
'codigopedido': '{{ session('codigopedido') }}',
};
</script>
我檢查什麼值,我的會話中獲取,並且那是結果:
a:11:{s:6:"_token";s:40:"TngqBg13IFapNDmM8jGfTpLU0F1IDvsfeqEJmg01";s:6:"_flash";a:2:{s:3:"new";a:0:{}s:3:"old";a:0:{}}s:9:"_previous";a:1:{s:3:"url";s:35:"http://localhost:8000/admin/product";}s:18:"cartalyst_sentinel";s:32:"SE3m6CuxzCRFQafdZM6BwZ2oiShiFcsV";s:9:"descricao";s:0:"";s:5:"model";s:0:"";s:6:"status";s:0:"";s:11:"distributor";s:0:"";s:5:"stock";s:0:"";s:9:"categoria";s:0:"";s:5:"image";s:1:"0";}
出於某種原因,該會議從另一個過濾器僅獲取價值,任何建議?
什麼版本的laravel。我相信新版本會限制會話類的使用。 –
如果我使用相同的字段來保存不同過濾器的值,是否會遇到問題? –
我相信不是這樣,我測試了我已經使用過的字段,問題是通過會話將輸入值傳遞給控制器 –