我构建了一个 ajax post,它将每个 slider 值(我使用 jquery ui slider)发送到我的 Controller 。
Ajax 代码:
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.ajax({
type: 'post',
contentType: "application/json",
url: "{{ Route('editProductPost', $product->id) }}",
headers: {
'X-Requested-With': 'XMLHttpRequest'
},
data: JSON.stringify({
value: getSliderVal,
productId : getPrId
}),
datatype: 'json',
success: function(response) {
// get response
console.log(response.sliderValue)
}
});
在我的 Controller 中我正在这样做:
public function editProductPost(Request $request)
{
Log::info($request->get('value'));
return view('product.edit', [
'sliderValue' => $request->get('value')
]);
}
这会返回正确的 slider 值,
Log::info($request->get('value'));
但是我在浏览器控制台中收到此错误消息:
POST http://localhost/myApp/public/product/edit/98 500 (Internal Server Error)
稍后我想在我的 View 中的 php 循环内调用此 sliderValue
。
编辑
我确实有一个 csrf token :
<meta name="csrf-token" content="{{ csrf_token() }}">
编辑
我已经这样做了:
$sliderValue = $request->get('value');
$route = 'updateProduct';
return view('product.edit', compact(['sliderValue', 'route']))->render();
控制台打印出我未定义
,如果我这样做{{ sliderValue }}
,我会得到一个错误,指出sliderValue
未定义
最佳答案
代码稍作改动:
public function editProductPost(Request $request)
{
Log::info($request->get('value'));
$sliderValue = $request->get('value';
return view('product.edit', compact('sliderValue'))->render();
}
关于javascript - Laravel Ajax Post 返回 500,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38845196/