Top Ad unit 728 × 90

Sử dụng lớp Security để kiểm tra dữ liệu gửi bằng Ajax

Chào các bạn!
Hôm nay chúng ta tiếp tục bài số 2 về lớp security trong CI (bài đầu tiên tại đây). Ở bài đấy mình đã nói cách khởi động và sử dụng lớp đó trong codeigniter, và trong bài này mình sẽ nói đến trường hợp thứ 2 đấy là trường hợp các bạn sử dụng ajax để gửi dữ liệu lên.
Bắt đầu nhé!


Cách khởi động lớp đó lên các bạn có thể xem lại ti bài Sử dụng Lớp Security trong Codeigniter nên mình sẽ không nói lại trong bài này mà mình sẽ vào luôn vấn đề. 

Khi sử dụng lớp Security chúng ta lưu ý một điểm sau: lớp này bắt buộc với phương thức post không bắt buộc đối với phương thức get. Vậy nên nếu các bạn sử dụng type là post trong ajax như đoạn code ví dụ sau:



<script type="text/javascript">
    $(document).ready(function(){
        $(".th").change(function(){
            var th = $(this).val();
            if(th != ""){
                $.ajax({
                    url: "localhost/demo/check",
                    data: {tp : th},
                    type:"POST",
                    beforeSend: function( xhr ) {
                        $("#fo").html("<img src='<?= localhost/demo/images/loader.gif')?>' style='display: block; margin-left: auto; margin-right: auto;' width='64px' height='64px' />");
                    }
                })

                .done(function( data ) {
                    $("#fo").html(data);
                });
            }else{
                alert('Quý khách vui lòng không để trống ô này!');
            }
        });
    });
</script>
 Các bạn để ý khối lệnh mà mình đã in đậm và bôi màu đỏ đó chính là đoạn xử lý dữ liệu bằng ajax và trong khối đó có dòng type là POST thì chúng ta cần có thêm một đoạn mã sau trong cặp thẻ <script></script>:
<script>
     var csrf_test_name   = '<?php echo $this->security->get_csrf_hash(); ?>';
</script>
Khi thêm vào đoạn code nó sẽ như sau:

 <script type="text/javascript">
    $(document).ready(function(){
        $(".th").change(function(){
            var th = $(this).val();
                     var csrf_test_name   = '<?php echo $this->security->get_csrf_hash(); ?>';
            if(th != ""){
                $.ajax({
                    url: "localhost/demo/check",
                    data: {tp : th,
csrf_test_name   : csrf_test_name   },
                    type:"POST",
                    beforeSend: function( xhr ) {
                        $("#fo").html("<img src='<?= localhost/demo/images/loader.gif')?>' style='display: block; margin-left: auto; margin-right: auto;' width='64px' height='64px' />");
                    }
                })
                .done(function( data ) {
                    $("#fo").html(data);
                });
            }else{
                alert('Quý khách vui lòng không để trống ô này!');
            }
        });
    });
</script>


Vậy là các bạn đã có thể dùng được cho cả 2 trường hợp rồi. Bài này mình dừng tại đây các bạn nên thực hành thật nhiều cho quen nhé! Vì nếu dùng ajax nếu bạn nào chưa có kinh nghiệm xem lỗi thì rất khó phát hiện lỗi nên các bạn chịu khó thực hành thật nhiều nhé! Chúc các bạn thành công!

Xem thêm:
Sử dụng Lớp Security trong Codeigniter 
Tìm hiểu Upload file lên server với thư viện FTP trong Codeigniter
Xây dựng MY_Model trong CI (phần 1)  
Tìm hiểu về cấu trúc thư mục application trong CI
Tìm hiểu codeigniter (phần 2)

 




Sử dụng lớp Security để kiểm tra dữ liệu gửi bằng Ajax Reviewed by Thế Giới Tri Thức on tháng 9 08, 2017 Rating: 5

Không có nhận xét nào:

All Rights Reserved by THẾ GIỚI TRI THỨC © 2018
Thiết kế bởi: THẾ GIỚI TRI THỨC

Biểu mẫu liên hệ

Tên

Email *

Thông báo *

Được tạo bởi Blogger.