Heim > Web-Frontend > js-Tutorial > Hauptteil

Reine js-gekapselte Ajax-Funktionen und Anwendungsbeispiele

ringa_lee
Freigeben: 2018-05-15 09:06:34
Original
1926 Leute haben es durchsucht

Dieser Artikel stellt hauptsächlich die Ajax-Funktion und die Verwendung der reinen JS-Kapselung vor. Er analysiert die Definition der Ajax-Funktion basierend auf der JavaScript-Kapselung und die damit verbundenen Betriebsfähigkeiten der Interaktion mit dem PHP-Hintergrund in Form von Beispielen dazu

Das Beispiel in diesem Artikel beschreibt die Ajax-Funktion und die Verwendung der reinen JS-Kapselung. Teilen Sie es als Referenz wie folgt mit allen:

AJAX = Asynchronous JavaScript and XML (Asynchronous JavaScript and XML) AJAX ist keine neue Programmiersprache, sondern eine neue Methode zur Nutzung bestehender Standards. Es handelt sich um eine Synthese von 7 Technologien, darunter sieben Technologien (Javascript xml xstl xhtml dom xmlhttprequest, css), Ajax ist ein Kleber.

Direkt zum Programm gehen:

js-Aufrufteil:

<script src="ds.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
<span style="white-space:pre;"> </span>window.onload=function(){
    var oDs=document.getElementById(&#39;ds&#39;);
    var oText=document.getElementById(&#39;text&#39;);
    oDs.onclick=function(){
      //第一个参数:数据传输方式 get post
      //第二个参数:调用文件的路径
      //第三个参数:data
      //第四个参数:回调函数
      ajax(&#39;GET&#39;,&#39;aa.txt&#39;,&#39;&#39;,function(str){
        //此处是调用名字为aa的txt文件里所有的内容(str),所以data直接为&#39;&#39;
        //如果需要插入特定参数,则data值为 data=&#39;&name=&#39;+oText.value;
        console.log(str);//名字为aa的txt文件里所有的内容
      });
    }
  }
</script>
Nach dem Login kopieren

html-Teil:

<input type="button" name="ds" id="ds" value="弹出" />
<input type="text" value="" id="text"/>
Nach dem Login kopieren

Ajax-Kapselungsteil:

function ajax(method, url, data, fnsuccess) {
  var xhr;
  //1.创建对象,兼容问题
  if(window.XMLHttpRequest) {
    //在高版本的浏览器 IE7+
    xhr = new XMLHttpRequest();
    //XMLHttpRequest用于在后台与服务器交换数据。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
  } else {
    //IE5 IE6
    xhr = new ActiveXObject();
  }
  //2.发送请求
  //第一个参数:数据传输方式 get post
  //第二个参数:处理文件 xx.php xx.txt ,要数据:直接写路径就好;提交数据:在地址那里写数据(get方式)
  //第三个参数:同步或者异步方式,默认是异步true
  //open
  //get模式路径上同时加入需要传输的内容
  if(method == &#39;GET&#39; && data) {
    url = url + &#39;?&#39; + data;
  }
  xhr.open(method, url, true);
  //send
  //send()如果是get方式,写null或者为空;
  //如果是post,参数那就直接写要传输的内容
  if(method == &#39;GET&#39;) {
    xhr.send(null);
  } else {
    //创建头文件信息
    xhr.setRequestHeader(&#39;Content-Type&#39;, &#39;application/x-www-form-urlencoded&#39;);
    xhr.send(data);
  }
  //4.接受php传过来的数据,解析 dom操作
  xhr.onreadystatechange = function() {
    if(xhr.readyState == 4) {//响应过程状态信息,4代表发送完成,顺利返回信息
      if(xhr.status == 200) {//status:状态码,如果返回的信息是200
        fnsuccess && fnsuccess(xhr.responseText);
      } else {
        alert(xhr.status);//发生错误时,返回该状态码
      }
    }
  }
}
Nach dem Login kopieren

Formularüberprüfung, Benutzernamenüberprüfung:

<form action="checkName.php" method="post">
  <!--span标签是用于提示,用户名重复,以及可以注册-->
  用户名:<input type="text" id="username" /><span id="inf"></span><br />
   密码:<input type="password" /><br />
  <input type="button" id="submit" value="提交" />
</form>
Nach dem Login kopieren

js-Aufrufteil:

<script src="ds.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
  window.onload = function() {
    var oUsername = document.getElementById(&#39;username&#39;);
    var oInf = document.getElementById(&#39;inf&#39;);
    oUsername.onkeyup = function() {
      var data=&#39;&name=&#39; + oUsername.value;
      //路径连接的是php文件
      ajax(&#39;GET&#39;,&#39;/0322/test/checkName.php&#39;,data,function(str){
        oInf.innerHTML=str;
      });
    }
  }
</script>
Nach dem Login kopieren

php-Teil:

<?php
// echo 输出
// echo &#39;qwerrtty&#39;;
//3.获取ajax传来的信息,做处理,在返回给ajax:后台做或者后台协作。
//这里两句话很重要,第一讲话告诉浏览器返回的数据是xml格式
  header("Content-Type: text/xml;charset=utf-8");
  //告诉浏览器不要缓存数据
  header("Cache-Control: no-cache");
//返回xml txt json html
  $userName=$_GET[&#39;name&#39;];
  if($userName==&#39;admin&#39;){//把内容拿到,进行判断
    echo &#39;<result><mes>该用户名重复了</mes></result>&#39;;
  }else{
    echo &#39;<result><mes>该用户名可以注册</mes></result>&#39;;
  }
?>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonReine js-gekapselte Ajax-Funktionen und Anwendungsbeispiele. 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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!