Php 从JSON调用后,将未定义的变量放入blade
我已经在我的网站上注册了表格。这是正确的提交之前。现在我想使用ajax提交我的表单,并想将一个变量从controller返回到JSON中,我将在blade文件中使用它 表单正在提交,值显示在数据库中,但重定向后返回错误Php 从JSON调用后,将未定义的变量放入blade,php,json,laravel,Php,Json,Laravel,我已经在我的网站上注册了表格。这是正确的提交之前。现在我想使用ajax提交我的表单,并想将一个变量从controller返回到JSON中,我将在blade文件中使用它 表单正在提交,值显示在数据库中,但重定向后返回错误 Undefined variable: seller in report blade 我试图解码我的变量使其工作,但仍然是相同的错误 我该怎么做 报告刀片 @foreach(json_decode($seller, true) as $row) <a href=
Undefined variable: seller in report blade
我试图解码我的变量使其工作,但仍然是相同的错误
我该怎么做
报告刀片
@foreach(json_decode($seller, true) as $row)
<a href="{{route('Report', $row->id) }}" >
{{ __('Show Report of ')}} {{$row->car_title}}
</a>
@endforeach
JavaScript
$("#submit-all").click(function(e){
e.preventDefault();
var _token = $('input[name="_token"]').val();
$.ajax({
type: "post",
url: "{{ route('form_for_private_sellers') }}",
data : $('#msform').serialize() + "&_token=" + _token,
dataType: 'JSON',
beforeSend: function(){
// Show loading image
$("#se-pre-con").show();
},
success: function(data) {
window.location = "http://127.0.0.1:8000/report/";
},
complete:function(data){
// Hide loading image
$("#se-pre-con").hide();
}
});
});
你需要两条路线 首先是渲染刀片
return view('report');
第二个是卖东西的
$seller = Sellers::latest()->take(1)->get();
return $seller
你需要两条路线 首先是渲染刀片
return view('report');
第二个是卖东西的
$seller = Sellers::latest()->take(1)->get();
return $seller
从你的评论中可以理解
window.location = "http://127.0.0.1:8000/report/";
他会按路线走
Route::get('/report', function () {
return view('report');
})->name('private_seller_report');
Report blade需要一个名为$seller
的变量,但它不是从路由发送的。您需要将路线更改为类似以下内容:
Route::get('/report', function () {
$sellers = Seller::get(); //your logic
return view('report', ['seller' => $sellers]);
})->name('private_seller_report');
或者,如果希望避免增加路由,您可以将路由指向控制器中的方法。从您的评论中可以理解
window.location = "http://127.0.0.1:8000/report/";
他会按路线走
Route::get('/report', function () {
return view('report');
})->name('private_seller_report');
Report blade需要一个名为$seller
的变量,但它不是从路由发送的。您需要将路线更改为类似以下内容:
Route::get('/report', function () {
$sellers = Seller::get(); //your logic
return view('report', ['seller' => $sellers]);
})->name('private_seller_report');
或者,如果您希望避免阻塞路由,可以将路由指向控制器中的方法。您需要Javascript来填充返回的结果。Blade将无法访问ajax请求返回的内容。刀片服务器是在服务器端解析的。@user3532758由于我已经尽了最大的努力,您能告诉我该怎么做吗。我对jquery不太在行,但让我为您发布一个答案。@user3532758请。记住一件事,变量应该可以访问foreach()数组,这对我来说非常重要。等等,我可能说得太早了。实际上,您正在返回整个报表视图。您需要Javascript来填充返回的结果。Blade将无法访问ajax请求返回的内容。刀片服务器是在服务器端解析的。@user3532758由于我已经尽了最大的努力,您能告诉我该怎么做吗。我对jquery不太在行,但让我为您发布一个答案。@user3532758请。记住一件事,变量应该可以访问foreach()数组,这对我来说非常重要。等等,我可能说得太早了。您实际上返回了整个报表视图。完美的方法。所以我只需从我的控制器中删除查询和返回语句,并将我的路由更新为您建议的路由,它就成功了!。。。完美的方法。所以我只需从我的控制器中删除查询和返回语句,并将我的路由更新为您建议的路由,它就成功了!。。。我们不需要定义两个路由,但我们可以在同一个路由中发送变量,如下面的#user3532758。尽管如此,当你给我指出正确的方向时,我还是会投票支持你的答案。只缺少您的代码。我们不需要定义两个路由,但我们可以在同一路由中发送变量,如下面的#user3532758。尽管如此,当你给我指出正确的方向时,我还是会投票支持你的答案。只有你的代码丢失了。