Heim > Backend-Entwicklung > PHP-Tutorial > So implementieren Sie Ajax im Zend Framework

So implementieren Sie Ajax im Zend Framework

不言
Freigeben: 2023-03-31 09:52:02
Original
1345 Leute haben es durchsucht

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 |
+----+-------+---------------------+
Nach dem Login kopieren

2. Verzeichnis:

3 🎜>

1.index.php //Eintragsdatei

2.TestDbCon.phhp //Datenbankverbindungsdatei

3.News.php //Abstrahiert Datenbanktabellendatei

4.TestController.php //Controller

5.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 Daten

Zugehöriger Dateiinhalt:

1.index.php //Eintragsdatei

<?php
set_include_path(&#39;.&#39; . PATH_SEPARATOR .&#39;../library&#39; . PATH_SEPARATOR . get_include_path() . PATH_SEPARATOR . &#39;../application/modules/default/models&#39; . PATH_SEPARATOR . &#39;../application/modules/admin/models&#39;);
require_once &#39;Zend/Controller/Front.php&#39;;
require_once &#39;Zend/Controller/Router/Route.php&#39;;
$ctrl=Zend_Controller_Front::getInstance();
$ctrl->addModuleDirectory(&#39;../application/modules&#39;);
$ctrl->throwExceptions(true);
$ctrl->dispatch();
?>
Nach dem Login kopieren

2.TestDbCon.phhp //Datenbankverbindungsdatei

<?php
  require_once &#39;Zend/Db.php&#39;;
  require_once &#39;Zend/Registry.php&#39;;
  class TestDbCon{
    public static function getTestDbCon(){
      $params=array(
      &#39;host&#39;=>&#39;localhost&#39;,
      &#39;username&#39;=>&#39;root&#39;,
      &#39;password&#39;=>&#39;123456&#39;,
      &#39;dbname&#39;=>&#39;test&#39;
      );
      $con=Zend_Db::factory(&#39;Pdo_Mysql&#39;,$params);
      return $con;
    }
  }
?>
Nach dem Login kopieren

3.News.php //Abstrakte Datenbanktabellendatei

<?php
/**
 * PHP Template.
 */
require_once &#39;Zend/Db/Table/Abstract.php&#39;;
class News extends Zend_Db_Table_Abstract{
  //  protected $_schema=&#39;test&#39;;
    protected $_name=&#39;news&#39;;
    protected $_primary=&#39;id&#39;;
    protected $_sequence=true;
}
?>
Nach dem Login kopieren

4.TestController.php //Controller

<?php
  require_once &#39;Zend/Controller/Action.php&#39;;
  require_once &#39;Zend/View.php&#39;;
  require_once &#39;News.php&#39;;
  require_once &#39;TestDbCon.php&#39;;
  class TestController extends Zend_Controller_Action{
    public function ajaxAction(){
      $this->render();
    }
    public function getAjaxAction(){
//      $aaa=$_GET[&#39;q&#39;];
//      $this->view->sid=$_GET[&#39;sid&#39;];
      $aaa=$this->_request->getParam(&#39;q&#39;);
      $this->view->sid=$this->_request->getParam(&#39;sid&#39;);
      $conn=TestDbCon::getTestDbCon();
      $news_tb=new News(array(&#39;db&#39;=>$conn));
      $where=$news_tb->getAdapter()->quoteInto(&#39;title=?&#39;,$aaa);
      $this->view->rowSet=$news_tb->fetchAll($where);
      $this->render();
    }
  }
?>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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;
?>
Nach dem Login kopieren
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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage