麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > AJAX > 正文

原生js中ajax訪問的實例詳解

2024-09-01 08:33:53
字體:
來源:轉載
供稿:網友

原生js中ajax訪問的實例詳解

form表單中

登錄名:

失去光標即觸發事件

function createXmlHttp() {     var xmlHttp;     try { // Firefox, Opera 8.0+, Safari       xmlHttp = new XMLHttpRequest();     }     catch (e) {       try {// Internet Explorer         xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");       }       catch (e) {         try {           xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");         }         catch (e) { }       }     }     return xmlHttp;   }   function infoCheck(){    var ename=document.getElementById("ename").value;    var password=document.getElementById("password").value;    var pwdConfirm=document.getElementById("pwdConfirm").value;    if(password!=pwdConfirm){      alert("兩次密碼不統一");      return ;    }    //驗證登錄用戶名是否存在,類似的可以驗證手機號什么的    // 1.創建異步對象     var xhr = createXmlHttp();     xhr.onreadystatechange = function () {       if (xhr.readyState === 4 && xhr.status === 200) {       //  var data = new Function("return" + xhr.responseText)()//反序列化       var val=xhr.responseText;        if(val==1){          document.getElementById("ch").innerHTML="重新設置名字";          document.getElementById("ename").focus();          return;        }else{          document.getElementById("ch").innerHTML="";        }      }     }     xhr.open("post", 'LoginController/checkEname?ename='+escape(encodeURIComponent(ename)), true);      //發送     xhr.send(null);   } 

在返回xhr.responseText數據時,中文有亂碼的體現,尚未解決,所以為了只管體現,我讓后臺返回的是“0”或者“1”來做判斷,je中createXmlHttp()這個方法以前看老師講過,但是還是不理解,目前仿照這寫吧,功能實現了,這也是看到的最簡單的版本實現原生態ajax,整個ajax訪問流程還是比較好理解,提交訪問數據的時候也存在亂碼問題

web項目亂碼的問題解決方案

    開始的web項目整體以post方式提交,xml文件中加入以下編碼過濾器

  <filter>    <filter-name>encodingFilter</filter-name>    <filter-class>        org.springframework.web.filter.CharacterEncodingFilter      </filter-class>    <init-param>     <param-name>encoding</param-name>     <param-value>utf-8</param-value>    </init-param>    <init-param>     <param-name>forceEncoding</param-name>     <param-value>true</param-value>    </init-param>   </filter>   <filter-mapping>    <filter-name>encodingFilter</filter-name>    <url-pattern>/*</url-pattern>   </filter-mapping>   提交的時候   剩下的 小部分的亂碼可以用編碼在解碼的方式獲得正確數據   編碼:'LoginController/checkEname?ename='+escape(encodeURIComponent(ename))   解碼:try {      String str=URLDecoder.decode(ename, "utf-8");       ename=URLDecoder.decode(ename, "utf-8");    } catch (UnsupportedEncodingException e) {      e.printStackTrace();    }    后面寫入數據庫的時候亂碼問題,我個人先創數據庫編碼是utf8,項目的編碼也是utf-8,避免其他的編碼問題發生,在連接數據庫的URL也加上url=jdbc:mysql://localhost:3306/ssm?useUnicode=true&characterEncoding=utf8目前碰到的亂碼問題已經解決(除開ajax返回數據亂碼,這個目前沒找到解決方案)

在來說下原生js非空驗證和button點擊提交功能

<form action="LoginController/register" method="post" id="form">姓名:<input type="text" name="name" id="name"><br>登錄名:<input type="text" name="ename" id="ename" onblur="infoCheck()"> <font id="ch" name="ch"></font><br>密碼:<input type="password" name="password" id="password"><br>密碼確定:<input type="password" name="pwdConfirm" id="pwdConfirm"><br><input type="button" value="注冊" onclick="submitInfo()" ></form>function submitInfo(){    var name=document.getElementById("name").value;    var ename=document.getElementById("ename").value;    var password=document.getElementById("password").value;    var pwdConfirm=document.getElementById("pwdConfirm").value;    //針對空格和制表符的""能做到過濾    name=name.replace(/(^/s*)|(/s*$)/g, "");    ename=ename.replace(/(^/s*)|(/s*$)/g, "");    password=password.replace(/(^/s*)|(/s*$)/g, "");    pwdConfirm=pwdConfirm.replace(/(^/s*)|(/s*$)/g, "");    if(name.length==0||name==" "||name.langth=="undefined") {    //alert(name.langth);    //alert(111);    alert("姓名為必填項");    return ;    }    if(ename.length==0||ename=="  "||ename.langth=="undefined") {    alert("登錄名為必填項");    return ;    }    if(password.length==0||password==" "||password.langth=="undefined") {    alert("密碼為必填項");    return;    }    if(password!=pwdConfirm){      alert("兩次密碼不統一");      return ;    }     document.getElementById("form").submit();  }

后面繼續加瓦,完善,所有代碼在之前的基于注解spring4.,mybatis3.最簡單的SSM整合 連接地址中,代碼持續更新

如有疑問請留言或者到本站社區交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美一区2区三区4区公司二百 | 毛片a片| 国产婷婷一区二区三区 | 久久久久久久久久久亚洲 | 蜜桃网站在线观看 | japanese massage tube | 亚洲欧美日韩久久精品第一区 | 欧美精品一区二区三区在线 | 天天干干 | 午夜精品视频在线 | 91精品国产91久久久久久吃药 | 高清中文字幕在线 | 国产精品久久久久久影视 | 国内精品视频饥渴少妇在线播放 | 一级一片免费看 | 真人一级毛片免费 | 国产在线一区二区三区 | 欧美精品久久久久久久多人混战 | 欧美视频黄色 | 亚洲影视在线 | 国产精品久久久久一区二区 | 久久久久久久久久一本门道91 | 斗罗破苍穹在线观看免费完整观看 | 黄色成人短视频 | 免费国产之a视频 | 黄色a级片视频 | 色综合久久久久综合99 | 国产精品久久久久久影院8一贰佰 | 在线观看麻豆 | 亚洲成人福利电影 | 亚洲精品久久久久久久久久久 | 黄色特级一级片 | 国产在线精品一区二区三区 | 春光影院理论片 | 一级毛片在线免费观看 | 福利在线免费视频 | 免费日本一区二区 | 久久国产亚洲精品 | 日韩三级伦理在线观看 | 国产成年人网站 | 国产人妖一区二区 |