Là một nhà phát triển PHP, việc sử dụng các biến PHP trong các tệp JavaScript là một vấn đề thực sự đối với tôi và sau nhiều lần tìm hiểu và tìm kiếm, tôi đã có câu trả lời từ nhiều năm trước. Vì vậy, tôi sẽ viết bài viết này để bạn có thể tránh việc tìm kiếm dài dòng đó [ít nhất là nếu bạn tìm thấy bài viết này sớm] và biết chính xác cách chèn một biến PHP vào tệp JavaScript của bạn
Có hai cách để sử dụng các biến PHP trong tệp javascript. Vì vậy, chúng ta sẽ đi qua từng cái một
Mục lục
1Phương pháp số 1
Phương pháp đầu tiên sẽ là sử dụng Javascript trong tệp PHP của bạn. Vì vậy, giả sử tôi có một tệp PHP trông như thế này
How to insert a PHP variable in a JavaScript fileHello World
Ví dụ
Vì vậy, những gì bạn có thể làm là bắt đầu một thẻ script ngay trước thẻ body của bạn và sau đó viết mã PHP của bạn vào đó. Ví dụ, tôi muốn viết một mảng tên trong tài liệu. Tôi sẽ tiếp cận các mã dưới đây
Tệp PHP
How to insert a PHP variable in a JavaScript fileHello World
document.write[""];
Bằng cách đó, bạn có thể sử dụng các biến PHP trong tệp Javascript của mình
Nhưng nếu bạn không thể viết toàn bộ JavaScript trong tệp PHP của mình thì sao?
Vì vậy, hãy xem phương pháp 2 về cách chèn biến PHP vào tệp JavaScript
Phương pháp #2
Đối với phương pháp này, chúng tôi sẽ không sử dụng toàn bộ javascript trong tệp PHP của bạn nhưng những gì chúng tôi sẽ làm là xác định một biến JS trong tệp PHP của bạn có cùng giá trị với biến PHP và sau đó truy cập biến đó trong tệp Javascript của bạn
Và nó rất đơn giản, hãy xem một ví dụ
Ví dụ
Tệp PHP
How do you insert a PHP variable in a JavaScript file?Hello World
let my_var = "";
Như bạn có thể thấy ở cuối tệp, chúng tôi có một thẻ script và trong thẻ đó, chúng tôi đã xác định biến JS của mình bằng cách sử dụng giá trị của biến PHP
Và sau này chúng ta có thể sử dụng biến JS đó trong tệp JS của mình
Tệp JavaScript
console.log[my_var]
Tôi hy vọng tôi đã có thể giúp bạn với vấn đề của bạn. Nếu bạn vẫn gặp bất kỳ lỗi nào, vui lòng bình luận, tôi sẽ phản hồi sớm nhất có thể và giúp bạn khắc phục lỗi
Ký hiệu "Chấm" có thể được sử dụng để tham chiếu các chế độ xem lồng nhau. Quyền Dưới đây, dữ liệu sẽ hiển thị trên
public function show[Permission $permission]
{
return view['admin.permission.show', compact['permission']];
}
2public function show[Permission $permission]
{
return view['admin.permission.show', compact['permission']];
}
Đừng mắc lỗi này trong bộ sưu tập Laravel
Tránh sử dụng chức năng trống trong bộ sưu tập Laravel
Blog. thiên tài. io
Truyền một biến PHP cho JavaScript
Nhưng trong một số trường hợp, bạn muốn chuyển một số var phía máy chủ sang JavaScript. Ví dụ: yêu cầu một số giá trị cho phân tích. Chúng ta có thể chuyển các biến bằng cách sử dụng gói Transform PHP Vars to JavaScript. Ngoài ra, chúng tôi có thể làm mà không cần sử dụng gói này
- 1. Sử dụng kết xuất JSON
- 2. Sử dụng Chuyển đổi PHP Vars sang gói JavaScript
1. không có gói. Sử dụng kết xuất JSON
Trong Laravel sẽ được dùng để khởi tạo một biến JavaScript
var app = {{ Js::from[$array] }};
Ví dụ
Bây giờ hãy thêm dữ liệu mảng vào tuyến ứng dụng. Mảng page_data này chúng ta cần sử dụng làm JavaScript
Route::get['/', function [] {
return view['welcome', ['page_data' => [
'title' => 'Home',
'price' => 20
]]];
}];
Thêm Js bên dưới. từ trong chế độ xem chào mừng
public function show[Permission $permission]
{
return view['admin.permission.show', compact['permission']];
}
3
var page_data = {{ Js::from[$page_data] }};
mở trình duyệt và kiểm tra page_data trong bảng điều khiển
Ngừng sử dụng DateTime trong PHP
Tại sao chúng ta cần sử dụng DateTime không thay đổi trong PHP?
Blog. thiên tài. io
2. Sử dụng Chuyển đổi PHP Vars sang gói JavaScript
Cài đặt gói thông qua Composer
composer require laracasts/utilities
Thêm gói vào nhà cung cấp
public function show[Permission $permission]
{
return view['admin.permission.show', compact['permission']];
}
4'providers' => [
'...',
Laracasts\Utilities\JavaScript\JavaScriptServiceProvider::class,
];
Tạo HomeController và gọi chế độ xem chào mừng
public function show[Permission $permission]
{
return view['admin.permission.show', compact['permission']];
}
5.