>>>-- Diễn đàn điện Việt Nam --->

Chào mừng các bạn đến với forum giao lưu giải trí stnut.123.st Chúc các bạn có những giây phút thư giãn ,bổ ích...!!!
-Rất mong các member thực hiện đúng nội quy diễn đàn : học tập, chao đổi, kinh nghiệm ...
-Diễn đàn đã có chức năng gửi bài viết đính kèm tài liệu ...
-Các bạn cần đăng ký để vào diễn đàn !
->Dien dan hien thi tot tren chinh duyet firefox & Google Chorme






Join the forum, it's quick and easy

>>>-- Diễn đàn điện Việt Nam --->

Chào mừng các bạn đến với forum giao lưu giải trí stnut.123.st Chúc các bạn có những giây phút thư giãn ,bổ ích...!!!
-Rất mong các member thực hiện đúng nội quy diễn đàn : học tập, chao đổi, kinh nghiệm ...
-Diễn đàn đã có chức năng gửi bài viết đính kèm tài liệu ...
-Các bạn cần đăng ký để vào diễn đàn !
->Dien dan hien thi tot tren chinh duyet firefox & Google Chorme




>>>-- Diễn đàn điện Việt Nam --->

Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.
>>>-- Diễn đàn điện Việt Nam --->

>>>>>-- Vietnam electric forum (VEF)----->

Keywords

Latest topics

» Các vị trí Công ty TNHH Điện lực AES-VCM Mông Dương đang tuyển dụng:
by dongmauanhhung.st Wed Sep 30, 2015 1:30 pm

» Có nhiều người dành cả đời mình chỉ để tìm kiếm một tình yêu đích thực.
by dongmauanhhung.st Wed Sep 30, 2015 1:29 pm

» Mạch kiểm soát trong hệ thống điện
by dongmauanhhung.st Fri Oct 31, 2014 3:27 pm

» Tài liệu đào tạo mạch nhị thứ
by dongmauanhhung.st Fri Oct 31, 2014 3:16 pm

» Rơle bảo vệ quá dòng 7SJ6225
by dongmauanhhung.st Fri Oct 31, 2014 10:16 am

» Bản vẽ mạch đóng, mạch cắt của máy cắt ABB, Schneider
by dongmauanhhung.st Thu Oct 30, 2014 11:32 am

» avatar pro
by dongmauanhhung.st Sat Sep 27, 2014 6:01 pm

» Tổ đấu dây máy biến áp Y/Y-10
by hoangtuk42 Tue Feb 18, 2014 10:58 am

» Bảo vệ rơle và tự động hóa trong hệ thống điện
by hoangtuk42 Sat Feb 15, 2014 10:32 am

» BẢO VỆ RƠLE VÀ TỰ ĐỘNG HÓA
by hoangtuk42 Mon Feb 10, 2014 10:12 am

» MIN from ST.319 - TÌM (LOST) Choreography Ver.
by hoangtuk42 Sun Feb 09, 2014 12:26 pm

» Không Cần Thêm Một Ai Nữa
by hoangtuk42 Sun Feb 09, 2014 12:10 pm

» Tiêu chuẩn Quốc tế (ISO) và tiêu chuẩn anh (BS) về máy biến áp và bộ điện kháng
by dongmauanhhung.st Wed Jan 22, 2014 8:39 am

» Thí nghiệm và bảo dưỡng sứ đầu vào máy biến áp lực
by hoangtuk42 Mon Dec 23, 2013 1:41 pm

» THỬ NGHIỆM CÁP KHÔNG CÓ GIÁP BỌC BẰNG THÙNG CHỨA NƯỚC
by hoangtuk42 Mon Dec 23, 2013 9:37 am

Thống Kê

Hiện có 35 người đang truy cập Diễn Đàn, gồm: 0 Thành viên, 0 Thành viên ẩn danh và 35 Khách viếng thăm

Không


[ View the whole list ]


Số người truy cập cùng lúc nhiều nhất là 75 người, vào ngày Wed Oct 09, 2024 9:44 pm


    Fix URL với jQuery AJAX

    *LoveMe*
    *LoveMe*
    Administrator
    Administrator


    Tổng số bài gửi : 392
    Points : 74729
    Join date : 16/01/2010
    Age : 37
    Đến từ : Đại Học KTCN-TN

    Fix URL với jQuery AJAX Empty Fix URL với jQuery AJAX

    Bài gửi by *LoveMe* Sun Jan 24, 2010 8:00 pm

    Dạo gần đây, trên các diễn đàn, có rất nhiều người đặt câu hỏi "làm sao để fix được url khi sử dụng AJAX ?!". Điều gì tốt khi fix được url trong ajax ?! nó có thể giúp ích cho bạn khi bạn muốn trang web của bạn sẽ được chia sẽ nội dung qua URL và vẫn sài được AJAX. Ở bài viết này tôi sẽ hướng dẫn cách thay đổi URL trong ajax, và chúng ta sẽ sử dụng tính năng anchor trong HTML để làm điều này.

    Ví dụ:
    Code:
    <a href="#php">PHP</a>
    Khi click vào link có anchor thì browser không load lại nhưng URL sẽ thay đổi.

    Khi dùng ajax, thì ajax sẽ gởi thông tin đến file noidung.php để lấy nội dung tương ứng cho mổi lần request. Trong PHP không thể lấy các giá trị từ anchor (#php) nên chúng ta phải dùng Javascript để truyền tham số cho noidung.php.

    Xem đoạn code dưới đây.
    Code:
      1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
      2. <html xmlns="http://www.w3.org/1999/xhtml"> 
      3. <head> 
      4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
      5. <script type="text/javascript" src="http://kenphan.info/clientscript/js/jquery.min.js"></script> 
      6. <script type="text/javascript"> 
      7. $(window).ready(function(){ 
      8.    var url = window.location.href; //đường dẫn hiện tại, ví dụ: http://domain.com/#php 
      9.    var c_url = url.split('#'); // split array 
      10.    var id = c_url[1]; // lấy giá trị phía sau dấu # 
      11.    ajax(id); 
      12.    // hàm gọi AJAX 
      13.    function ajax (param) { 
      14.        $.ajax({ 
      15.            url: "noidung.php",// đường dẫn file back-end 
      16.            type: "POST",// phương thức truyền POST OR GET 
      17.            data: ({ id : param }), // truyền tham số đến file nội dung 
      18.            dataType: "html",// kiểu dữ liệu callback 
      19.            beforeSend: function(){}, // trước khi request 
      20.            success: function(msg){ 
      21.                alert(msg); 
      22.            } 
      23.        }); 
      24.    } 
      25.    // xử lý button 
      26.    $('a[rel=clickme]').click(function(){ 
      27.        var href = $(this).attr('href'); 
      28.        if(href.indexOf('#') != -1) hrefhref = href.split('#'); 
      29.        id = href?href[1]:'#'; 
      30.        ajax(id); 
      31.    }); 
      32. }); 
      33. </script> 
      34. <title>Fix URL với jQuery AJAX</title> 
      35. </head> 
      36. <body> 
      37. <a href="#1" rel="clickme">Click me 1</a> 
      38. 
      39. <a href="#2" rel="clickme">Click me 2</a> 
      40. 
      41. <a href="#3" rel="clickme">Click me 3</a> 
      42. 
      43. <a href="#4" rel="clickme">Click me 4</a> 
      44. 
      45. <a href="#5" rel="clickme">Click me 5</a> 
      46. </body> 
      47. </html> 
    Giải thích

    Trước hết, chúng ta cần embed jquery.js vào document
    Code:
      1. <script type="text/javascript" src="http://kenphan.info/clientscript/js/jquery.min.js"></script> 
    Sau đó, chúng ta dùng $(window).ready(function(){ ... để cho browser biết là sẽ thực hiện đoạn mã trong đó khi trang web được load. Khi trang web được load nó sẽ phân tích URL hiện tại và lấy tham số cần truyền để gởi đến hàm gọi ajax().
    Code:
      1. var url = window.location.href; //đường dẫn hiện tại, ví dụ: http://domain.com/#php 
      2. var c_url = url.split('#'); // split array 
      3. var id = c_url[1]; // lấy giá trị phía sau dấu # 
      4. ajax(id); 
    Và đây là hàm AJAX (nếu bạn không hiểu về hàm $.ajax({}), vui lòng đọc thêm về jquery)
    Code:
      1. function ajax (param) { 
      2.    $.ajax({ 
      3.        url: "noidung.php",// đường dẫn file back-end 
      4.        type: "POST",// phương thức truyền POST OR GET 
      5.        data: ({ id : param }), // truyền tham số đến file nội dung 
      6.        dataType: "html",// kiểu dữ liệu callback 
      7.        beforeSend: function(){}, // trước khi request 
      8.        success: function(msg){ 
      9.            alert(msg); 
      10.        } 
      11.    }); 
      12. } 
    Tiếp đến, chúng ta sẽ cần xử lý các thẻ , khi user click vào 1 thẻ để gọi ajax thì đoạn mã sau sẽ được thực thi, phân tích và lấy ra ID cần thiết gởi đến noidung.php để xử lý. Chú thích: $('a[rel=clickme]') đoạn này sẽ thực thi khi thẻ có rel="clickme", $(this).attr('href'); lấy đường dẫn được thực thi và dùng split() để lọc và lấy ID cần gởi !

    Code:
      1. // xử lý button 
      2. $('a[rel=clickme]').click(function(){ 
      3.    var href = $(this).attr('href'); 
      4.    if(href.indexOf('#') != -1) href = href.split('#'); 
      5.    id = href?href[1]:'#'; 
      6.    ajax(id); 
      7. }); 
    Và HTML của ta sẽ như sau:
    Code:
    # <a href="#1" rel="clickme">Click me 1</a> 

    # <a href="#2" rel="clickme">Click me 2</a> 

    # <a href="#3" rel="clickme">Click me 3</a> 

    # <a href="#4" rel="clickme">Click me 4</a> 

    # <a href="#5" rel="clickme">Click me 5</a>

    PHP của chúng ta sẽ thế này:
    Code:
      1. <?php 
      2.    if($_POST['id'] == '') { 
      3.        echo 'default'; 
      4.    } else { 
      5.        echo $_POST['id']; 
      6.    } 
      7. ?> 

      Hôm nay: Thu Nov 28, 2024 6:35 am