当前,我正在尝试通过ajax提取一些数据,但无法使数据正确显示。
在我的ajax电话中,我有这个:
$.ajax({
url:"{{ route('pricing.fetch') }}",
method:"POST",
data:{select:select, value:value, _token:_token, dependent:dependent, productId:productId},
success:function(result)
{
$("ul[data-dependent='quantity']").html(result);
这按预期工作。问题是我试图从数据库中的不同表返回数据。因此,我试图通过将ajax中的结果更改为此来实现这一点。
$("ul[data-dependent='quantity']").html(result.productQuantities);
我要这样做的原因是因为我需要多个下拉菜单。所以我也想再做一个这样的人:
$("ul[data-dependent='quantity']").html(result.productPaperStock);
我的控制器代码如下:
$data = Product::with(['productQuantity', 'productPaperstock'])->where('ID', $productId)->first();
// pull the quantity for this product
$productQuanties = $data->productQuantity;
$productPaperStock = 'hello';
$output = '';
foreach($productQuanties as $productQuantity)
{
$output .= "<li><span>" . $productQuantity->quantity_name . "</span></li>";
}
return response()->json["productQuanties" => $productQuanties, "productPaperStock" => $productPaperStock]);
我不确定自己在做错什么,但是在上面的示例中出现500错误。
答案 0 :(得分:1)
您需要在ajax请求中设置dataType: json
选项,然后在控制器中返回json
响应。
此外,您在控制器代码中缺少起始括号。正确的代码是
return response()->json(["productQuanties" => $productQuanties, "productPaperStock" => $productPaperStock])
(请注意,... storage / logs / laravel.log是一个很棒的地方,可深入了解导致应用程序崩溃的原因))