Heim >Backend-Entwicklung >PHP-Tutorial >So implementieren Sie Ajax im Zend Framework
Dieser Artikel stellt Ihnen hauptsächlich die Methode zur Implementierung von Ajax im Zend Framework-Framework vor. Er analysiert die spezifischen Schritte und zugehörigen Betriebstechniken zur Implementierung der Ajax-Funktion im Zend Framework-Framework im Detail kann jedem helfen.
Entwicklungsplattform: Windows >
Erforderliche Datenbanktabellen und ZF-bezogene Verzeichnisse und Dateien:
2. Verzeichnis:
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 | +----+-------+---------------------+
3. Zugehörige Dokumente:
1.index.php //Eintragsdatei
2.TestDbCon.phhp //Datenbankverbindungsdatei3 .News.php //Abstrahierte Datenbanktabellendatei 4.TestController.php //Controller
5.ajax.phtml //Kundenbetriebsseite, einschließlich Generierung eines XMLHttpRequest-Objekts, Senden einer Ajax-Anfrage, Verarbeiten der Anforderung und Abrufen des Server-Rückgabewerts usw. 6.get-ajax.phtml //Generieren Sie schließlich Seitenelemente basierend auf den vom Server abgerufenen DatenZugehöriger Dateiinhalt :
1.index.php //Eintragsdatei2.TestDbCon.phhp //Datenbankverbindungsdatei
3.News.php //Abstrakte Datenbanktabellendatei
<?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(); ?>
4.TestController.php / /Controller
<?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; } } ?>
5.ajax.phtml //Kundenoperationsseite, einschließlich Generieren von XMLHttpRequest-Objekten, Senden von Ajax-Anfragen, Verarbeiten von Anfragen, Abrufen von Server-Rückgabewerten usw.
<?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; } ?>
6.get-ajax.phtml //Generieren Sie schließlich Seitenelemente basierend auf den vom Server abgerufenen Daten
<?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(); } } ?>
Verwandte Empfehlungen:
<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>
Zusammenfassung der Datenbankbetriebsfähigkeiten von Zend Framework
<?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; ?>
Detaillierte Erläuterung häufig verwendeter Validatoren im Zend 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!