English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Beispiel zur Änderung des Status und zum Löschen ohne Neuladen mit ajax

1. 01.php ist das Hauptprogramm und ruft das smarty-Template auf, um zu durchsuchen und auszugeben:

<?php
  include './include/Mysql.class.php';
  include './libs/Smarty.class.php';
  $db=new Mysql;
  $smarty=new Smarty;
  $lists=$db->getALL('users');
  $smarty->assign('lists',$lists);
  $smarty->display('list.html');
?>

2. list.html-Template: Inhalte mit JS Ajax verwenden:

<!DOCTYPE html>
<html>
<head>
  <meta charset=utf-8>
  <title>Benutzerberechtigungsanzeigetable</title>
</head>
<body>
    //Dem table-Body einen div zuweisen, um die JS-Aufrufe zu erleichtern
    <div id="table">
    <table align="center" border="1" width="500">
      <center><h2>Benutzerberechtigungsübersicht</h2></center>
      <tr>
        <th>uid</th><th>Benutzername</th><th>Passwort</th><th>Sperrstatus</th><th>Rolle</th><th>Operation</th>
      </tr>  
      {foreach $lists as $list}
        <tr align="center">
          <td>{$list.uid}</td>
          <td>{$list.username}</td>
          <td>{$list.password}</td>
          {if $list.is_lock==1}
            <td><a href="javascript:lock(0,{$list.uid});" rel="external nofollow">Sperrung</a></td>
            {else}
            <td><a href="javascript:lock(1,{$list.uid})" rel="external nofollow" ;>Lösen Sie den Lock auf</a></td>  
          {/if}    
          {if $list.role==1}
              <td>Administrator</td>
          {else}
              <td>Redakteur</td>    
          {/if}
          <td><a href="javascript:del({$list.uid})" rel="external nofollow" >Löschen</a></td>
        </tr>    
      {/foreach}  
    </table>
    </div>  
</body>
    <script type="text/javascript">
      function lock(lock,uid){
          //Erstellen Sie ein AJAX-Objekt
          var xhr=new XMLHttpRequest();
          //Öffnen Sie einen Link
          xhr.open('post','02.php');
          //Setzen Sie die Header-Informationen
          xhr.setRequestHeader('content-type','application/x-www-form-urlencoded');
          //Werte, mehrere Parameter werden durch & getrennt
          var data="is_lock="+lock+"&uid="+uid;
          //Senden Sie die AJAX-Datenanfrage
          xhr.send(data);
          //Setzen Sie den Callback, die Überwachungsfunktion
          xhr.onreadystatechange=function(){
            //Wenn der AJAX-Statuscode eine normale Antwort gibt und das Netzwerk normal ist, wird der Antworttext abgerufen
            if(xhr.readyState==4&&xhr.status==200){
              if(xhr.responseText){
                document.getElementById('table').innerHTML=xhr.responseText;
              }else{
                alert("Fehlgeschlagener Zustandswechsel!");
              }
            }
          }
        }
    function del(uid){
      var del=window.confirm("Sind Sie sicher, dass Sie löschen möchten?");
      if(del){
        //Erstellen Sie ein AJAX-Objekt
        var xhr=new XMLHttpRequest();
        //Öffnen Sie einen Link
        xhr.open('post','del.php');
        //Setzen Sie den Header
        xhr.setRequestHeader('content-type','application/x-www-form-urlencoded');
        //data取值
        var data="uid="+uid;
        //Senden Sie den AJAX-Anfrage
        xhr.send(data);
        //Setzen Sie den Beobachter
        xhr.onreadystatechange=function(){
          //Wenn der AJAX-Statuscode eine normale Antwort gibt und das Netzwerk normal ist, wird der Antworttext abgerufen
          if(xhr.readyState==4&&xhr.status==200){
            if(xhr.responseText){
              //Mit AJAX-Antworten den Inhalt des Table-Labels in diesem Template ersetzen
              document.getElementById('table').innerHTML=xhr.responseText;
            }else{
              alert("Löschung fehlgeschlagen!");}}
            }
          }
        }
      }
    }    
    </script>
</html>

3. 02.php Ändern des Status ohne Neuladen:

<?php
  include './include/Mysql.class.php';
  include './libs/Smarty.class.php';
  $lock=$_POST['is_lock'];
  $uid=$_POST['uid'];
  $smarty=new Smarty;
  $db=new Mysql;
  $result=$db->update('users',"is_lock=$lock","uid=$uid");
  if($result){
    //Erfolgreich geändert, durchsuchen Sie die Datenbank erneut und geben Sie das Smarty-Template aus
    $lists=$db->getALL('users');
    $smarty->assign('lists',$lists);
    $smarty->display('list.html');
  }else{
    echo false;
  }
?>

4.del.php um das Löschen ohne Neuladen zu realisieren

<?php
  include './include/Mysql.class.php';
  include './libs/Smarty.class.php';
  $db=new Mysql;
  $smarty=new Smarty;
  $uid=$_POST['uid'];
  $res=$db->delete('users',$uid);
  if($res>0){
    $lists=$db->getALL('users');
    $smarty->assign('lists',$lists);
    $smarty->display('list.html');
  }else{
    echo false;
  }
?>

Dieses Beispiel zur Implementierung von AJAX, um den Status zu ändern und ohne Neuladen zu löschen, ist das gesamte Inhalt, den der Herausgeber den Lesern mitgeteilt hat. Hoffentlich kann es Ihnen als Referenz dienen, und wir hoffen, dass alle viele Unterstützung für das Lernportal呐喊 geben.

Erklärung: Der Inhalt dieses Artikels wurde aus dem Internet übernommen und gehört dem Urheberrechtsinhaber. Der Inhalt wurde von Internetbenutzern selbständig beigesteuert und hochgeladen. Diese Website besitzt keine Eigentumsrechte und hat den Inhalt nicht von Hand bearbeitet. Sie übernimmt auch keine rechtlichen Verantwortlichkeiten. Wenn Sie urheberrechtliche Inhalte bemerken, freuen wir uns über die Übermittlung von E-Mails an: notice#oldtoolbag.com (Bitte ersetzen Sie # durch @ beim Senden von E-Mails zur Meldung von Verstößen und stellen Sie relevante Beweise zur Verfügung. Sobald nachgewiesen, wird diese Website die beanstandeten urheberrechtlichen Inhalte sofort löschen.)

Gefällt mir