【发布时间】:2021-06-19 04:58:59
【问题描述】:
我是 laravel 新手,我想通过 ajax 数据将选择的产品名称下拉选项值发送到控制器
例如:如果我从下拉列表中选择第一个 塑料产品 选项值,然后在控制器中从请求对象 I想要选择的产品名称
根据我下面的代码,我在产品名称的请求对象中得到了 null
这是我的路线:
Route::get('product', 'ProductController@index')->name('product');
这是我的控制器:
public function index(Request $request)
{
if (isset($request->productName)) {
$productName = $request->productName;
dump($productName); // getting null
} else {
$productName = null;
}
return view('Product.product');
}
这是我的 ajax 调用:
function display(productName){
productName = $('#product_filter').val(); // Here, I'm getting selected value of dropdown
$.ajax({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
url: "{{route('product')}}",
type: "GET",
data:{
'productName' : productName // in header request I'm getting value [productName: plastic product] *
},
success:function(data){
console.log(data);
},
error:function(e){
console.log(e,'error');
}
});
}
我不知道我是否做错了什么, 结束时希望得到帮助,请帮助我将选定的值传递给控制器对象
【问题讨论】:
-
我相信你不能只在javascript中做
{{ route('dashboard-product-data') }},因为它不知道如何解析它。请检查您的回复面板,看看您在 url 上得到了什么。 -
@Ryoko,感谢您按照您的建议回复,我检查了响应面板,这是我在 URL
url: "http://localhost.product.com/dashboard/product-data"中得到的内容,您能帮我解决这个问题吗?我该如何解析它? -
好的,看起来它正在工作。尝试将
isset与$request->has('productName')和dump更改为dd。你得到了什么? -
@ryoko 我在 dd(); 时得到空值;
-
@Ryoko,我为此做了几乎所有的更改,过了半天才得到这个,你能帮我解决这个问题吗?
标签: php ajax laravel controller laravel-8