javascript - ajax获取数据请求url未找到但已经存在,Laravel 8
问题描述
大家好,我的 ajax 数据 json 有问题,我有一个关于使用网络摄像头扫描条形码的项目,但它只是查看条形码的代码,数据库中的数据没有在我的 ajax 中调用,这是刀片的代码,我正在使用模态,这是模态
<div id="myModal" class="modal fade" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="scanModalLabel">Scan Barcode</h5>
<button type="button" class="close close-btn" data-dismiss="myModal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<dl class="row">
<dt class="col-sm-4"><h4>Kode Barang</h4></dt>
<dd class="col-sm-8" id="kode_barang"></dd>
</dl> <hr>
<table class="table align-items-center tabel-detail" >
<thead class="thead-light">
<tr>
<th>Nama Barang</th>
<th>Harga Jual</th>
<th>Stok</th>
<th>Insert</th>
</tr>
</thead>
<tbody class="list">
</tbody>
</table>
</div>
<div class="modal-footer">
</div>
</div>
</div>
</div>
这是jQuery代码
var args = {
autoBrightnessValue: 100,
resultFunction: function(res) {
[].forEach.call(scannerLaser, function(el) {
$(el).fadeOut(300, function() {
$(el).fadeIn(300);
});
});
scannedImg.attr("src", res.imgData);
scannedQR.text(res.format + ": " + res.code);
console.log(res.code);
document.getElementsByName('qrcode')[0].value = res.code;
var kode= res.code;
$('#kode_barang').text(': '+kode);
$.ajax({
url:"{{ route('daftar_produk.scan') }}",
method:'GET',
data:{kode:kode},
dataType:'json',
success:function(data)
{
$('.list').html(data.table_data)
}
});
$('#myModal').modal('show');
},
这是控制器
public function cekScan(Request $req)
{
$id = $req->get('kode');
$output='';
$produk = Produk::findOrFail($id)
->where('kode_barang', '=', $id)
->select('produks.*')
->first();
$no = 0;
$data = array();
foreach ($produk as $list) {
$no ++;
$output .= '<tr><td>'.$no.'</td><td>'.$list->nama_barang.'</td><td>'."Rp.".format_uang($list->harga_jual).'</td><td>'.$list->stok.'</td><td><a type="button" data-stok=(('.$list->stok.')) data-id=(('.$list->id.')) data-nama=(('.$list->nama_barang.')) data-kode=(('.$list->kode_barang.')) data-harga=(('.$list->harga_jual.')) class="btn btn-primary btn-pilih" role="button">Insert</a></td></tr>';
}
$data = array(
'table_data' => $output
);
return json_encode($data);
}
这是路线
Route::get('transaksi/scan', '\App\Http\Controllers\ProdukController@cekScan')->name('daftar_produk.scan');
我该怎么办错误说“jquery.min.js:2 GET http://localhost:8080/rezkastore1/%7B%7B%20route('daftar_produk.scan')%20%7D%7D?kode=2135758676 404 (未找到)”
解决方案
似乎是 URL 的问题。
您无法访问 JS 文件中的路由。
在刀片中为 ajaxURL 创建一个全局变量,然后在 JavaScript 中使用。
<script>
var ajaxURL = '{{ route('daftar_produk.scan') }}';
</script>
<script src="xyz.js"></script>
推荐阅读
- php - curl登录到网站,然后在登录时浏览不同的链接
- jsf - jsf 表单不应在 ajax 事件上提交
- php - 使用 Redis 在 Laravel 5.6 中存储会话但面临浏览器问题
- php - Magento 2 rest api 订单状态总是更新完成
- c# - 将数据库连接到列表框
- javascript - WEBDRIVERIO / CUCUMBER:函数超时,确保 Promise 在 10000 毫秒内解决
- javascript - TypeError:无法读取未定义的属性“中心”(Three.js + React.js)
- optaplanner - 如果我在 optaplanner 中使用多线程,则抛出异常
- sql - 删除重复但为每个保留一行
- git - gitlab 错误:尝试推送更改时未知作者