Để lấy giá trị từ server và sử dụng trong file js/frontend/app.js
, bạn có thể sử dụng một số cách sau:
- Truyền giá trị từ Blade template xuống script: Trong file
addProduct.blade.php
, bạn có thể truyền giá trị từ Blade template xuống script thông qua các cách sau:
a) Gán giá trị vào một biến JavaScript:
htmlCopy code
<!-- addProduct.blade.php -->
<p>...</p>
<script>
var layoutErrorNotify = @json(Session::get('layoutErrorNotify'));
</script>
<script src="{{ mix('js/frontend/app.js') }}"></script>
Sau đó, bạn có thể sử dụng biến layoutErrorNotify
trong file app.js
.
b) Sử dụng data-* attributes:
htmlCopy code
<!-- addProduct.blade.php -->
<p>...</p>
<div id="myDiv" data-layout-error-notify="{{ Session::get('layoutErrorNotify') }}"></div>
<script src="{{ mix('js/frontend/app.js') }}"></script>
Trong file app.js
, bạn có thể lấy giá trị từ data-layout-error-notify
như sau:
javascriptCopy code
// app.js
var layoutErrorNotify = document.getElementById('myDiv').getAttribute('data-layout-error-notify');
- Sử dụng Ajax request: Trong file
app.js
, bạn có thể tạo một request Ajax để lấy giá trị từ server thông qua một endpoint được cung cấp bởi server. Sau khi nhận được giá trị từ server, bạn có thể sử dụng nó trong app.js
.
javascriptCopy code
// app.js
fetch('/api/getLayoutErrorNotify')
.then(response => response.json())
.then(data => {
var layoutErrorNotify = data.layoutErrorNotify;
// Sử dụng giá trị layoutErrorNotify ở đây
})
.catch(error => {
console.error('Lỗi khi lấy giá trị từ server:', error);
});
Trong ví dụ trên, bạn cần tạo một endpoint /api/getLayoutErrorNotify
trên server để trả về giá trị layoutErrorNotify
.
Chú ý rằng, cách 2 (Ajax request) có thể yêu cầu thêm công việc phía server để xử lý request và cung cấp dữ liệu.