ajax - Ajax laravel 不在控制台中返回单条记录,但在 html 中没有返回所有数据
问题描述
我正在尝试使用用户在文本框中输入产品代码并单击按钮以查看使用 ajax 和 laravel 的产品详细信息的搜索功能。
这是我的路线
Route::get('tracking', 'ClientController@show')->name('tracking');
和我的控制器(ClientController)
public function show(Request $request){
$no_smu = $request->input('search');
$tracking = Incoming::where('no_smu', 'like', '%' . $no_smu . '%')->get();
return response()->json($tracking);
}
我的表格刀片
<form class="lockscreen-credentials" id="form">
<div class="input-group">
<input type="text" name="no_smu" id="no_smu" class="form-control" placeholder="SMU Number">
<div class="input-group-append">
<button type="submit" id="submit" class="btn"><i class="fas fa-arrow-right text-muted"></i></a>
</div>
</div>
</form>
<div class="help-block text-center" id="content">
<!-- data should load here -->
</div>
ajax 脚本
$(document).ready(function(){
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$('#submit').on('click', function(e){
e.preventDefault();
var no_smu = $('#no_smu').val();
// alert(no_smu);
$.ajax({
type: "GET",
url: "{{ route('tracking') }}",
dataType: "json",
data: {'no_smu' : no_smu},
success: function(data){
console.log(data);
// $('#content').html(data);
}
});
});
});
问题,它返回所有数据而不是输入产品的单个数据,如果我评论console.log(data)
和取消评论$('#content').html(data)
它什么也没有返回。
解决方案
使您的控制器代码如下。
public function show(Request $request){
$no_smu = $request->input('search');
$tracking = Incoming::where('no_smu', 'like', '%' . $no_smu . '%')->first();
return view('traking_data');
}
在视图文件夹下创建一个新的视图文件,您可以在其中添加 HTML 进行打印
traking_data.blade.php
<div>
{{ $tracking->no_smu }}
</div>
它会在ajax中返回HTML
$('#content').html(data)
推荐阅读
- go - 我可以重新打开已关闭的频道吗?
- r - 带有图像的多个 Kable 表
- python - 在 SuperLearner 集成模型中使用神经网络作为基础学习器
- c++ - 通过智能指针和转换对基础模板参数进行模板推导
- python - 如何使用 pytest 测试类方法
- wine - 如何修复 Wine 内存访问冲突
- angular - 将项目彼此下方放置在一个锚项目中
- excel - 结合 .csv 并将文件名添加为列
- css - How to use next-css in next.config.js in combination with custom server Express
- c# - 我可以使用内存中实体框架 6.2.0 还是有任何方法可以做到这一点