Heim > Artikel > Backend-Entwicklung > So implementieren Sie Ajax im Zend Framework
In diesem Artikel wird hauptsächlich die Methode zur Implementierung von Ajax im Zend Framework-Framework vorgestellt. Er analysiert detailliert die spezifischen Schritte und zugehörigen Betriebsfähigkeiten der Implementierung der Ajax-Funktion im Zend Framework-Framework in Form von Beispielen dazu
Das Beispiel in diesem Artikel beschreibt die Methode zur Implementierung von Ajax im Zend Framework-Framework. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:
Entwicklungsplattform: Windows XP SP2
Testplattform: FreeBSD 7.0
Entwicklungstools: Netbeans 6.1
Verwenden des Frameworks: Zend Framework 1.5.2
Datenbank: MySQL 5.0.51a
Erforderliche Datenbanktabellen und ZF-bezogene Verzeichnisse und Dateien:
1. Tabelle:
mysql> select * from news; +----+-------+---------------------+ | id | title | add_time | +----+-------+---------------------+ | 22 | rot | 2008-01-04 00:00:00 | | 23 | aaa | 2008-01-04 00:00:00 | | 24 | rot | 2008-01-04 00:00:00 | | 29 | dfeew | 2008-02-27 00:00:00 | | 26 | jesse | 2008-02-27 00:00:00 | | 27 | andle | 2008-02-27 00:00:00 | | 28 | andle | 2008-02-27 00:00:00 | +----+-------+---------------------+
2. Verzeichnis:
3 🎜>
1.index.php //Eintragsdatei2.TestDbCon.phhp //Datenbankverbindungsdatei3.News.php //Abstrahiert Datenbanktabellendatei4.TestController.php //Controller5.ajax.phtml //Kundenoperationsseite, einschließlich Generieren eines XMLHttpRequest-Objekts, Senden einer Ajax-Anfrage, Verarbeiten der Anfrage und Abrufen der server Rückgabewert usw. 6.get-ajax.phtml //Generieren Sie schließlich Seitenelemente basierend auf den vom Server abgerufenen DatenZugehöriger Dateiinhalt:
1.index.php //Eintragsdatei<?php set_include_path('.' . PATH_SEPARATOR .'../library' . PATH_SEPARATOR . get_include_path() . PATH_SEPARATOR . '../application/modules/default/models' . PATH_SEPARATOR . '../application/modules/admin/models'); require_once 'Zend/Controller/Front.php'; require_once 'Zend/Controller/Router/Route.php'; $ctrl=Zend_Controller_Front::getInstance(); $ctrl->addModuleDirectory('../application/modules'); $ctrl->throwExceptions(true); $ctrl->dispatch(); ?>2.TestDbCon.phhp //Datenbankverbindungsdatei
<?php require_once 'Zend/Db.php'; require_once 'Zend/Registry.php'; class TestDbCon{ public static function getTestDbCon(){ $params=array( 'host'=>'localhost', 'username'=>'root', 'password'=>'123456', 'dbname'=>'test' ); $con=Zend_Db::factory('Pdo_Mysql',$params); return $con; } } ?>3.News.php //Abstrakte Datenbanktabellendatei
<?php /** * PHP Template. */ require_once 'Zend/Db/Table/Abstract.php'; class News extends Zend_Db_Table_Abstract{ // protected $_schema='test'; protected $_name='news'; protected $_primary='id'; protected $_sequence=true; } ?>4.TestController.php //Controller
<?php require_once 'Zend/Controller/Action.php'; require_once 'Zend/View.php'; require_once 'News.php'; require_once 'TestDbCon.php'; class TestController extends Zend_Controller_Action{ public function ajaxAction(){ $this->render(); } public function getAjaxAction(){ // $aaa=$_GET['q']; // $this->view->sid=$_GET['sid']; $aaa=$this->_request->getParam('q'); $this->view->sid=$this->_request->getParam('sid'); $conn=TestDbCon::getTestDbCon(); $news_tb=new News(array('db'=>$conn)); $where=$news_tb->getAdapter()->quoteInto('title=?',$aaa); $this->view->rowSet=$news_tb->fetchAll($where); $this->render(); } } ?>5.ajax.phtml //Kundenoperationsseite, einschließlich Generieren von XMLHttpRequest-Objekten, Senden von Ajax-Anfragen, Verarbeiten von Anfragen, Abrufen von Server-Rückgabewerten usw .
<script type="text/javascript"> var xmlHttp function showValue(str) { xmlHttp=getXmlHttpObject(); if (xmlHttp==null) { alert ("您的浏览器不支持AJAX."); return; } var url="/test/get-ajax"; url=url+"/q/"+str; url=url+"/sid/"+Math.random(); xmlHttp.onreadystatechange=stateChanged; xmlHttp.open("GET",url,true); xmlHttp.send(null); } function stateChanged() { if (xmlHttp.readyState==4) { document.getElementById("resulte").innerHTML=xmlHttp.responseText; } } function getXmlHttpObject() { var xmlHttp=null; try { // Firefox, Opera 8.0+, Safari xmlHttp=new XMLHttpRequest(); } catch (e) { // Internet Explorer try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } } return xmlHttp; } </script> <form> 请选择一位客户: <select name="customers" onchange="showValue(this.value)"> <option value="rot">rot</option> <option value="aaa">aaa</option> <option value="jesse">jesse</option> <option value="andle">andle</option> </select> </form> <p> <p id="resulte"><b>客户信息将在此处列出。</b></p> </p>6.get-ajax.phtml //Generieren Sie endlich Seitenelemente basierend auf den vom Server abgerufenen Daten
<?php foreach($this->rowSet as $row){ echo "<p>"; echo "<ul>"; echo "<li>"; echo "id=".$row->id." title=".$row->title." add_time=".$row->add_time; echo "</li>"; echo "</ul>"; echo "</p>"; } echo $this->sid; ?>Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass dies der Fall ist Seien Sie hilfreich für das Lernen aller. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website! Verwandte Empfehlungen:
Zend Zend_Db-Datenbankoperationen im Framework
Das obige ist der detaillierte Inhalt vonSo implementieren Sie Ajax im Zend Framework. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!