我试图从我的输入中传递一个值来构建一个过滤器,我需要获取所有值,传递给我的控制器并进行操作,我输入了输入并创建了有关Controller的所有内容,但由于某种原因,我的会话没有得到我在字段中指定的值。我只打了一个例子,因为代码很长并且在所有字段中重复逻辑。
例如:
我需要获得'codigopedido'值,所以我用这些属性输入了输入:
<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";}
出于某种原因,会话只获取来自另一个过滤器的值,任何建议吗?
答案 0 :(得分:0)
这看起来像一个序列化的对象。您可以使用$ data-&gt; toJson()或$ data-&gt; toArray()轻松将其转换为json对象或数组。