<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

        Ajax 傳遞JSON實例代碼

        來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 22:51:43
        文檔

        Ajax 傳遞JSON實例代碼

        Ajax 傳遞JSON實例代碼:前面的話 雖然ajax全稱是asynchronous javascript and XML。但目前使用ajax技術(shù)時,傳遞JSON已經(jīng)成為事實上的標(biāo)準(zhǔn)。因為相較于XML而言,JSON簡單且方便。本文將上一篇中的實例進(jìn)行改寫,以JSON的方式來進(jìn)行數(shù)據(jù)傳遞 前端頁面 <!-- 前端頁面
        推薦度:
        導(dǎo)讀Ajax 傳遞JSON實例代碼:前面的話 雖然ajax全稱是asynchronous javascript and XML。但目前使用ajax技術(shù)時,傳遞JSON已經(jīng)成為事實上的標(biāo)準(zhǔn)。因為相較于XML而言,JSON簡單且方便。本文將上一篇中的實例進(jìn)行改寫,以JSON的方式來進(jìn)行數(shù)據(jù)傳遞 前端頁面 <!-- 前端頁面

        前面的話

          雖然ajax全稱是asynchronous javascript and XML。但目前使用ajax技術(shù)時,傳遞JSON已經(jīng)成為事實上的標(biāo)準(zhǔn)。因為相較于XML而言,JSON簡單且方便。本文將上一篇中的實例進(jìn)行改寫,以JSON的方式來進(jìn)行數(shù)據(jù)傳遞

        前端頁面

        <!-- 前端頁面 -->
        <!DOCTYPE html>
        <html lang="en">
        <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
        body{font-size: 20px;margin: 0;line-height: 1.5;}
        select,button,input{font-size: 20px;line-height: 1.5;}
        </style>
        </head>
        <body>
        <h2>員工查詢</h2> 
        <label>請輸入員工編號:</label>
        <input type="text" id="keyword">
        <button id="search">查詢</button>
        <p id="searchResult"></p>
        <h2>員工創(chuàng)建</h2>
        <form id="postForm">
         <label>請輸入員工姓名:</label>
         <input type="text" name="name"><br>
         <label>請輸入員工編號:</label>
         <input type="text" name="number"><br>
         <label>請輸入員工性別:</label>
         <select name="sex">
         <option value="男">男</option>
         <option value="女">女</option>
         </select><br>
         <label>請輸入員工職位:</label>
         <input type="text" name="job"><br>
         <button id="save" type="button">保存</button> 
        </form>
        <p id="createResult"></p>
        <script>
        /*get*/
        //查詢
        var oSearch = document.getElementById('search');
        //get方式添加數(shù)據(jù)
        function addURLParam(url,name,value){
         url += (url.indexOf("?") == -1 ? "?" : "&");
         url +=encodeURIComponent(name) + "=" + encodeURIComponent(value);
         return url;
        }
        oSearch.onclick = function(){
         //創(chuàng)建xhr對象
         var xhr;
         if(window.XMLHttpRequest){
         xhr = new XMLHttpRequest();
         }else{
         xhr = new ActiveXObject('Microsoft.XMLHTTP');
         }
         //異步接受響應(yīng)
         xhr.onreadystatechange = function(){
         if(xhr.readyState == 4){
         if(xhr.status == 200){
         //實際操作
         var data = JSON.parse(xhr.responseText);
         if(data.success){
         document.getElementById('searchResult').innerHTML = data.msg;
         }else{
         document.getElementById('searchResult').innerHTML = '出現(xiàn)錯誤:' +data.msg;
         }
         }else{
         alert('發(fā)生錯誤:' + xhr.status);
         }
         }
         }
         //發(fā)送請求
         var url = 'service.php';
         url = addURLParam(url,'number',document.getElementById('keyword').value);
         xhr.open('get',url,true);
         xhr.send();
        }
        /*post*/
        //創(chuàng)建
        var oSave = document.getElementById('save');
        //post方式添加數(shù)據(jù)
        function serialize(form){ 
         var parts = [],field = null,i,len,j,optLen,option,optValue;
         for (i=0, len=form.elements.length; i < len; i++){
         field = form.elements[i];
         switch(field.type){
         case "select-one":
         case "select-multiple":
         if (field.name.length){
         for (j=0, optLen = field.options.length; j < optLen; j++){
         option = field.options[j];
         if (option.selected){
         optValue = "";
         if (option.hasAttribute){
         optValue = (option.hasAttribute("value") ? option.value : option.text);
         } else {
         optValue = (option.attributes["value"].specified ? option.value : option.text);
         }
         parts.push(encodeURIComponent(field.name) + "=" + encodeURIComponent(optValue));
         }
         }
         }
         break; 
         case undefined: //fieldset
         case "file": //file input
         case "submit": //submit button
         case "reset": //reset button
         case "button": //custom button
         break; 
         case "radio": //radio button
         case "checkbox": //checkbox
         if (!field.checked){
         break;
         }
         /* falls through */
         default:
         //don't include form fields without names
         if (field.name.length){
         parts.push(encodeURIComponent(field.name) + "=" + encodeURIComponent(field.value));
         }
         }
         } 
         return parts.join("&");
        }
        oSave.onclick = function(){
         //創(chuàng)建xhr對象
         var xhr;
         if(window.XMLHttpRequest){
         xhr = new XMLHttpRequest();
         }else{
         xhr = new ActiveXObject('Microsoft.XMLHTTP');
         }
         //異步接受響應(yīng)
         xhr.onreadystatechange = function(){
         if(xhr.readyState == 4){
         if(xhr.status == 200){
         //實際操作
         var data = JSON.parse(xhr.responseText);
         if(data.success){
         document.getElementById('createResult').innerHTML = data.msg; 
         }else{
         document.getElementById('createResult').innerHTML = '出現(xiàn)錯誤:'+data.msg;
         }
         }else{
         alert('發(fā)生錯誤:' + xhr.status);
         }
         }
         }
         //發(fā)送請求
         xhr.open('post','service.php',true);
         xhr.setRequestHeader("content-type","application/x-www-form-urlencoded");
         xhr.send(serialize(document.getElementById('postForm')));
        }
        </script>
        </body>
        </html>

        后端頁面

        <?php 
        //用于過濾不安全的字符
        function test_input($data) {
         $data = trim($data);
         $data = stripslashes($data);
         $data = htmlspecialchars($data);
         return $data;
        }
        //設(shè)置頁面內(nèi)容的html編碼格式是utf-8
        header("Content-Type:application/json;charset=utf-8");
        //定義一個多維數(shù)組,包含員工的信息,每條員工信息為一個數(shù)組
        $staff = array(
         array("name"=>"洪七","number"=>"101","sex"=>"男","job"=>'總經(jīng)理'),
         array("name"=>"郭靖","number"=>"102","sex"=>"男","job"=>'開發(fā)工程師'),
         array("name"=>"黃蓉","number"=>"103","sex"=>"女","job"=>'產(chǎn)品經(jīng)理')
         );
        //判斷如果是get請求,則進(jìn)行搜索;如果是POST請求,則進(jìn)行新建
        //$_SERVER["REQUEST_METHOD"]返回訪問頁面使用的請求方法
        if($_SERVER["REQUEST_METHOD"] == "GET"){
         search();
        }else if($_SERVER["REQUEST_METHOD"] == "POST"){
         create();
        }
        //通過員工編號搜索員工
        function search(){
         //檢查是否有員工編號的參數(shù)
         //isset檢測變量是否設(shè)置;empty判斷值是否為空
         if(!isset($_GET['number']) || empty($_GET['number'])){
         echo '{"success":false,"msg":"參數(shù)錯誤"}';
         return;
         }
         global $staff;
         $number = test_input($_GET['number']);
         $result = '{"success":false,"msg":"沒有找到員工"}';
         //遍歷$staff多維數(shù)組,查找key值為number的員工是否存在。如果存在,則修改返回結(jié)果
         foreach($staff as $value){
         if($value['number'] == $number){
         $result = '{"success":true,"msg":"找到員工:員工編號為' .$value["number"] .',員工姓名為' .$value["name"] .',員工性別為' .$value["sex"] .',員工職位為' .$value["job"] .'"}';
         break;
         }
         }
         echo $result;
        }
        //創(chuàng)建員工
        function create(){
         //判斷信息是否填寫完全
         if(!isset($_POST['name']) || empty($_POST['name']) || 
         !isset($_POST['number']) || empty($_POST['number']) ||
         !isset($_POST['sex']) || empty($_POST['sex']) ||
         !isset($_POST['job']) || empty($_POST['job']) 
         ){
         echo '{"success":false,"msg":"參數(shù)錯誤,員工信息填寫不全"}';
         return;
         }
         echo '{"success":true,"msg":"員工' .test_input($_POST['name']) .'信息保存成功!"}';
        }
        ?>

        實例演示

        以上所述是小編給大家介紹的Ajax 傳遞JSON實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

        聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        Ajax 傳遞JSON實例代碼

        Ajax 傳遞JSON實例代碼:前面的話 雖然ajax全稱是asynchronous javascript and XML。但目前使用ajax技術(shù)時,傳遞JSON已經(jīng)成為事實上的標(biāo)準(zhǔn)。因為相較于XML而言,JSON簡單且方便。本文將上一篇中的實例進(jìn)行改寫,以JSON的方式來進(jìn)行數(shù)據(jù)傳遞 前端頁面 <!-- 前端頁面
        推薦度:
        標(biāo)簽: 代碼 例子 案例
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 日本不卡视频免费| 成年丰满熟妇午夜免费视频| 国产一区在线观看免费| 亚洲精华液一二三产区| 成人免费淫片在线费观看| 亚洲色www永久网站| 黄页网站在线看免费| 亚洲精品美女网站| 韩国欧洲一级毛片免费| 久久久久亚洲精品无码网址色欲| 一个人在线观看视频免费| 亚洲 欧洲 视频 伦小说| 日本免费高清一本视频| 日韩在线视频线视频免费网站| 亚洲人AV永久一区二区三区久久| 韩国免费A级毛片久久| 久久久久亚洲精品美女| 最近中文字幕完整版免费高清| 亚洲人成片在线观看| 永久免费无码网站在线观看| 一级中文字幕免费乱码专区| 亚洲国产另类久久久精品黑人 | 亚洲αv在线精品糸列| 18级成人毛片免费观看| 亚洲私人无码综合久久网| 免费一级大黄特色大片| 成全视频免费观看在线看| 亚洲色偷偷偷网站色偷一区| 在线a毛片免费视频观看| 4hu四虎免费影院www| 亚洲国产精品无码久久久| 国产成人高清精品免费鸭子 | 亚洲人午夜射精精品日韩| 嫩草影院在线播放www免费观看| 亚洲综合无码一区二区三区| 国产精品色午夜视频免费看| 大地资源在线资源免费观看| 亚洲av中文无码乱人伦在线观看| 亚洲日韩国产一区二区三区| **一级毛片免费完整视| 四虎精品免费永久免费视频|