Nhận biến từ jQuery sang PHP

Mã lõi WordPress được viết bằng PHP và giao diện Bảng điều khiển dành cho quản trị viên sử dụng nhiều jQuery và JavaScript

Tất nhiên, đây là tất cả các ngôn ngữ lập trình khác nhau và như bạn mong đợi, không có lý do gì để chúng hoạt động cùng nhau ở cấp độ phát triển

Đây được gọi là phạm vi

Phạm vi xác định ranh giới nơi dữ liệu và biến của bạn sẽ hoạt động và có các mức phạm vi khác nhau ngay cả trong cùng một ngôn ngữ lập trình. Chúng tôi sẽ không đến đó

Là các ngôn ngữ riêng biệt, PHP, jQuery và JavaScript hoàn toàn nằm ngoài phạm vi

Mã của họ chạy qua các trình thông dịch khác nhau được tích hợp vào máy chủ cho PHP và trình duyệt web cho jQuery và JavaScript

Họ thậm chí không thừa nhận sự hiện diện của nhau

Nhưng vì cả ba đều được sử dụng nhiều trong việc phát triển các trang web WordPress, nên sẽ có những lúc bạn chỉ cần chuyển dữ liệu WordPress từ PHP vào các tệp jQuery và JavaScript của mình để chúng có thể làm điều gì đó thú vị trong giao diện người dùng [UI] mà không thể'

Đây là cách để làm điều đó

Truyền biến giữa các ngôn ngữ

Chúng tôi sẽ cho thấy việc lấy thông tin từ trang web WordPress bằng PHP dễ dàng như thế nào, gói thông tin đó lại và hiển thị thông tin đó trong giao diện người dùng phía trước bằng jQuery hoặc JavaScript

Trước tiên, chúng tôi tạo tệp tập lệnh jQuery thử nghiệm có tên lc-jquery. js. Tôi giữ cái này trong một thư mục js bên trong chủ đề hiện tại của chúng tôi

Những thứ khá đơn giản ở đây

Chúng tôi đang phát hiện một lượt nhấp vào liên kết và hiển thị hộp cảnh báo hiển thị biến không xác định lc_jqpost_info

Đợi đã – lc_jqpost_info đến từ đâu?

Kiên nhẫn padawan trẻ của tôi

Chúng tôi đã tạo một trang thử nghiệm trên WordPress và thêm liên kết sau vào đó với ID #clickme để chúng tôi có thể móc mã jQuery của mình vào đó

Cho tôi xem nội dung

Bây giờ, chúng ta cần tải tập lệnh jQuery vào WordPress và cách thích hợp để thực hiện việc đó là sử dụng hàm wp_enqueue_script[]

Sao chép đoạn mã sau vào chức năng của bạn. tập tin php

Bạn sẽ cần điều chỉnh vị trí cho tệp tập lệnh của mình nếu bạn chưa đặt nó ở cùng một vị trí như ví dụ này

Nếu bạn tải lại trang thử nghiệm của mình và nhấp vào liên kết, bạn sẽ thấy trong cửa sổ phần tử kiểm tra của trình gỡ lỗi Chrome, có lỗi jQuery do tập lệnh không thể tìm thấy biến lc_jqpost_info

Điều này cho chúng ta biết hai điều

1. Tập lệnh đang tải chính xác

2. Rằng bây giờ chúng ta phải làm gì đó với biến lc_jqpost_info mà tập lệnh mong đợi

Bây giờ chúng ta phải sắp xếp biến đó và chuyển một số thông tin PHP cho jQuery

Truyền thông tin PHP cho jQuery

Cuối cùng, chúng ta đã ở đây và sắp sử dụng sức mạnh tuyệt vời của wp_localize_script[]

Thay thế mã lc_load_query[] mà bạn vừa nhập vào hàm của mình. tệp php với nội dung sau

Chúng tôi đã thêm ba dòng vào mã

Dòng 4 làm cho biến $post có thể truy cập được vào mã của chúng tôi

Dòng 5 tạo một biến mảng có tên là $data và điền vào đó các mục somestring, post_id và post_title

somestring chỉ là một chuỗi tiêu chuẩn, post_id chứa ID bài đăng của bài đăng WordPress hiện tại [trong trường hợp này là trang có liên kết thử nghiệm của chúng tôi trên đó] và post_title chứa Tiêu đề của cùng một trang

Dòng 6 là nơi điều kỳ diệu xảy ra và wp_localize_script[] chuyển mảng $data cho đối tượng lc_jqpost_info cho tập lệnh lcjquerytest mà chúng ta vừa xử lý

Vì vậy, để rõ ràng, tham số đầu tiên có cùng tên với tập lệnh jQuery mà bạn đã nhập vào hàng đợi. Tham số thứ hai là tên của đối tượng mới mà bạn muốn có sẵn cho mã jQuery. Tham số thứ ba là tên của mảng mà chúng ta đã tạo trong PHP để chứa dữ liệu mà chúng ta muốn chuyển vào tập lệnh jQuery

Trong bài đăng này, chúng ta sẽ tìm hiểu cách truy cập biến php trong jquery với ví dụ nhỏ. Chúng tôi luôn yêu cầu lấy biến mảng php hoặc biến dữ liệu trong javascript

Nếu bạn có kho lưu trữ giá trị chuỗi đơn giản trên biến php và bạn cần truy cập jquery thì bạn có thể thực hiện dễ dàng bằng cách sử dụng echo của php. Nhưng nếu bạn cần lấy biến mảng thì bạn phải thực hiện bằng cách sử dụng json_encode

Tôi đang sử dụng biến resp trong mã JQuery. Tôi đang tìm cách lưu biến này cho một biến PHP. xin tư vấn

Thứ ba, ngày 10 tháng 3 năm 2020 8. 10. 20

    • Tất cả . Xem tất cả chủ đề
    • WordPress chung . Tất cả mọi thứ chung WordPress
    • Plugin & Chủ đề . Hỗ trợ plugin và chủ đề
    • Nhiều trang web . Tất cả mọi thứ WordPress Multisite
    • Tính năng & Phản hồi . Chúng tôi có thể phát triển gì cho bạn?
    • Trung tâm . Tất cả mọi thứ WPMU DEV Hub. Tự động hóa, Báo cáo, v.v.
    • Lưu trữ . Hỗ trợ lưu trữ
    • Diễn đàn hỗ trợ

      Diễn đàn thành viên

Bình luận 2

    Ouissal Aouinti
    • Phụ nữ hỗ trợ
    • 215 điểm. Điểm anh hùng 760 điểm. Trả lời. điểm MỨC ĐỘ 7

    Xin chào David Z.

    Tôi hy vọng bạn đang làm tốt ngày hôm nay

    Tôi đã kiểm tra mã của bạn và thực hiện một số nghiên cứu cho bạn, tuy nhiên, tôi nhớ đã gặp vấn đề tương tự khi tôi đang xây dựng một hệ thống tương tự trên một chủ đề, tuy nhiên, khi chúng ta nói về việc lưu trữ một biến từ JS sang PHP, chúng ta đang nói về hai

    Hơn nữa, để truyền các biến giữa phụ trợ và giao diện người dùng, Ajax sẽ là giải pháp tốt nhất, tuy nhiên, trên WORDPRESS, Ajax không giống như việc tạo các tệp php và truyền các biến giữa chúng, như hệ thống WordPress Ajax . php cũng như hai Hành động bắt buộc.
    Vui lòng xem demo các chức năng bên dưới. [về chức năng. php ]
    Trên chức năng. php tạo một hàm sẽ nhận các biến từ tệp JS.

    
    function wpmu_receive_var[]{
         $js_var = isset[ $_REQUEST['JS_var'] ]  ?  $_REQUEST['JS_var']  : 'the var didn't reach this function'; // 1997 value 
    
        // do something with the variable or just echo it
         echo $js_var;
    }
    // define the actions for the two hooks 
    // please note that it is obligatory to add your function name after wp_ajax_ & wp_ajax_nopriv .
    add_action["wp_ajax_wpmu_receive_var", "my_user_like"];
    add_action["wp_ajax_nopriv_wpmu_receive_var", "please_login"];
    

    Trên Js [phía jQuery]

    jQuery.ajax[{
            type: "POST",
            url:  ,
            data: { "JS_var":  1997 /*  the value that you want to pass it to PHP variable */   }, 
            success: function[data] {
                alert["success!"];
            }
    }];

    Tuy nhiên, đây là từ kinh nghiệm của tôi và hy vọng nó sẽ giúp ích cho bạn, vui lòng thực hiện một số nghiên cứu về phần cuối của bạn về việc truy xuất và gửi dữ liệu Ajax Ajax và bạn sẽ có thêm thông tin về nó

    Ngoài ra, tôi đã tìm thấy một số tài liệu hữu ích, tôi khuyên bạn nên kiểm tra chúng theo thứ tự này.
    Tài liệu này thực sự hữu ích và hiện đại, mời bạn xem trước. https. // nhà phát triển wpmu. com/blog/using-ajax-with-wordpress/

    sau đó vui lòng kiểm tra ví dụ này trên trang GitHub. https. //ý chính. github. com/devinsays/69a305053e35a10584f94d6011bba2d6

    Làm cách nào để lấy giá trị biến từ jquery sang PHP?

    Lại. cung cấp giá trị jquery trong php .
    var d = 'xin chào thế giới'; . viết[d]; .
    Để nhận các giá trị trực tiếp từ javaScript đến máy chủ của bạn và sau đó đến một php MỚI, bạn sử dụng AJAX hoặc tìm nạp
    Đó là cách DUY NHẤT để lấy giá trị javaScript vào PHP

    Làm cách nào để lưu trữ biến jquery trong PHP?

    Nếu bạn muốn gửi giá trị php đến trang php bằng cách sử dụng jquery và ajax, thì trước hết, hãy tạo văn bản đầu vào với kiểu ẩn. đặt giá trị php của bạn vào đó. và khi bạn nhấp vào, hãy lấy giá trị đó từ loại đầu vào ẩn trong jquery rồi chuyển nó tới bất kỳ trang nào bạn muốn .

    Làm cách nào để truy cập các biến PHP trong JavaScript?

    Để cho phép PHP đặt các biến JavaScript, bạn chỉ cần chèn các lệnh echo PHP vào tập lệnh trong tệp PHP . Các lệnh này sau đó được đánh giá ở phía máy chủ và tạo mã JavaScript được thực thi cục bộ tại trình duyệt.

    Làm cách nào để viết jquery trong thẻ PHP?

    Chỉ cần đặt sau jquery .

Chủ Đề