Hỏi:viết Ajax trong Zend với Jquery ?

Zend_Cache, Zend_Config, Zend_Console_Getopt, Zend_Log, Zend_Memory,Zend_Debug, Zend_Environment, Zend_Loader, Zend_Registry, Zend_Version, Zend_Filter, Zend_Validate

Hỏi:viết Ajax trong Zend với Jquery ?

Gửi bàigửi bởi allercoucu » 19/11/2009 13:39

Chào mọi người

Mình đang có ý định viết 1 ứng dụng sử dụng zend và jquery vì theo mình biết 2 framework này rất mạnh. Mình muốn ứng dụng sử dụng ajax nhưng tìm trên mạng ít thấy bài hướng dẫn về sự kết hợp của 2 thằng này để viết ajax. Mọi người có kinh nghiệm chỉ cho mình cách viết với. Xin cảm ơn
Hình đại diện của thành viên
allercoucu
Member Rank 9
 
Bài viết: 20
Ngày tham gia: 06/11/2009 09:28
Gửi: thanks
Nhận: thanks

Re: Hỏi:viết Ajax trong Zend với Jquery ?

Gửi bàigửi bởi tuanha » 20/11/2009 14:23

allercoucu đã viết:Chào mọi người

Mình đang có ý định viết 1 ứng dụng sử dụng zend và jquery vì theo mình biết 2 framework này rất mạnh. Mình muốn ứng dụng sử dụng ajax nhưng tìm trên mạng ít thấy bài hướng dẫn về sự kết hợp của 2 thằng này để viết ajax. Mọi người có kinh nghiệm chỉ cho mình cách viết với. Xin cảm ơn

Bạn thử xem trong manual của Zend: http://framework.zend.com/manual/en/zendx.jquery.html
Thanks.
Hình đại diện của thành viên
tuanha
Member Rank 5
 
Bài viết: 113
Ngày tham gia: 09/11/2009 14:48
Gửi: thanks
Nhận: thanks

Re: Hỏi:viết Ajax trong Zend với Jquery ?

Gửi bàigửi bởi blackblist » 09/12/2009 13:40

Trong Zend Framework có hỗ trợ bạn sử AjaxLink Helper , và bạn có thể sử dụng nó một cách dễ dàng.
Mình xin đưa ra một ví dụ đơn giản sử dụng ajax link với Zend Controller Action
Trước hết bạn cần có 1 Controller trước ( trong ví dụ này mình sử dụng Controller là AjaxController )
( Vấn đề setHelperPath thì bạn có thể tham khảo trên Zend Documents nha )
Sau đó bạn khai báo cho mình Action cần sử dụng :
Class AjaxController nhứ sau:
Mã: Chọn tất cả
class AjaxController extends Zend_Controller_Action
{
        public function init()
   {

   }
        public indexAction()
        {
                    //do somethings
        }

}


Tiếp theo trong 1 trang nào đó bạn sử dụng ajaxLink helper của ZendX
ví dụ như mình khai báo như sau trong 1 trang nào đó ( chằng hạn index.phtml)
Mã: Chọn tất cả
<?php echo $this->ajaxLink("Click",
      $this->url(array('controller'=>'ajax','action'=>'index')),                                                                                                                
                   array('noscript'=>true,'update'=>"#update")','method'=>'POST'), //#update chua noi dung goi nguoc lai tu server
                                                       array('id'=>1)      //tham so ma ta muon goi di   
                                 ); ?>

Nếu bạn làm theo cách này thì vẫn có thể thực hiện được , nhưng nếu page hiện tại của bạn có sử dụng layout thì nó sẽ render cả layout ngược trở lại.
Vì vậy chúng ta có thể disablelayout hoặc có thể sử dụng cách sau:

chúng ta sẽ khai báo lại function init() trong class AjaxController như sau :
Mã: Chọn tất cả
public function init()
   {
      $ajaxContext = $this->_helper->getHelper('AjaxContext');
      $ajaxContext->addActionContext('index','html')
               ->initContext();
      
   }

khi đó bạn cần dặt lại tên cho file trong View/scripts/ajax/index.phtml thành View/scripts/ajax/index.ajax.phtml
và sửa lại ajaxLink như sau:
Mã: Chọn tất cả
<?php echo $this->ajaxLink("Click",
      $this->url(array('controller'=>'ajax','action'=>'index','format'=>'html')),                                                                                                                
                   array('noscript'=>true,'update'=>"#update")','method'=>'POST'), //#update chua noi dung goi nguoc lai tu server
                                                       array('id'=>1)      //tham so ma ta muon goi di   
                                 ); ?>


Bây giờ bạn có thể test thử và xem kết quả :)
Chúc bạn thành công !
Có j sai mong bỏ qua !
Hình đại diện của thành viên
blackblist
Member Rank 9
 
Bài viết: 26
Ngày tham gia: 09/12/2009 10:02
Gửi: thanks
Nhận: thanks


Quay về Core Infrastructure

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.1 khách.

Web Analytics