• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題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關鍵字專題關鍵字專題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
    當前位置: 首頁 - 科技 - 知識百科 - 正文

    Ajax 傳遞JSON實例代碼

    來源:懂視網 責編:小采 時間:2020-11-27 22:51:43
    文檔

    Ajax 傳遞JSON實例代碼

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

    前面的話

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

    前端頁面

    <!-- 前端頁面 -->
    <!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>員工創建</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方式添加數據
    function addURLParam(url,name,value){
     url += (url.indexOf("?") == -1 ? "?" : "&");
     url +=encodeURIComponent(name) + "=" + encodeURIComponent(value);
     return url;
    }
    oSearch.onclick = function(){
     //創建xhr對象
     var xhr;
     if(window.XMLHttpRequest){
     xhr = new XMLHttpRequest();
     }else{
     xhr = new ActiveXObject('Microsoft.XMLHTTP');
     }
     //異步接受響應
     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 = '出現錯誤:' +data.msg;
     }
     }else{
     alert('發生錯誤:' + xhr.status);
     }
     }
     }
     //發送請求
     var url = 'service.php';
     url = addURLParam(url,'number',document.getElementById('keyword').value);
     xhr.open('get',url,true);
     xhr.send();
    }
    /*post*/
    //創建
    var oSave = document.getElementById('save');
    //post方式添加數據
    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(){
     //創建xhr對象
     var xhr;
     if(window.XMLHttpRequest){
     xhr = new XMLHttpRequest();
     }else{
     xhr = new ActiveXObject('Microsoft.XMLHTTP');
     }
     //異步接受響應
     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 = '出現錯誤:'+data.msg;
     }
     }else{
     alert('發生錯誤:' + xhr.status);
     }
     }
     }
     //發送請求
     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;
    }
    //設置頁面內容的html編碼格式是utf-8
    header("Content-Type:application/json;charset=utf-8");
    //定義一個多維數組,包含員工的信息,每條員工信息為一個數組
    $staff = array(
     array("name"=>"洪七","number"=>"101","sex"=>"男","job"=>'總經理'),
     array("name"=>"郭靖","number"=>"102","sex"=>"男","job"=>'開發工程師'),
     array("name"=>"黃蓉","number"=>"103","sex"=>"女","job"=>'產品經理')
     );
    //判斷如果是get請求,則進行搜索;如果是POST請求,則進行新建
    //$_SERVER["REQUEST_METHOD"]返回訪問頁面使用的請求方法
    if($_SERVER["REQUEST_METHOD"] == "GET"){
     search();
    }else if($_SERVER["REQUEST_METHOD"] == "POST"){
     create();
    }
    //通過員工編號搜索員工
    function search(){
     //檢查是否有員工編號的參數
     //isset檢測變量是否設置;empty判斷值是否為空
     if(!isset($_GET['number']) || empty($_GET['number'])){
     echo '{"success":false,"msg":"參數錯誤"}';
     return;
     }
     global $staff;
     $number = test_input($_GET['number']);
     $result = '{"success":false,"msg":"沒有找到員工"}';
     //遍歷$staff多維數組,查找key值為number的員工是否存在。如果存在,則修改返回結果
     foreach($staff as $value){
     if($value['number'] == $number){
     $result = '{"success":true,"msg":"找到員工:員工編號為' .$value["number"] .',員工姓名為' .$value["name"] .',員工性別為' .$value["sex"] .',員工職位為' .$value["job"] .'"}';
     break;
     }
     }
     echo $result;
    }
    //創建員工
    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":"參數錯誤,員工信息填寫不全"}';
     return;
     }
     echo '{"success":true,"msg":"員工' .test_input($_POST['name']) .'信息保存成功!"}';
    }
    ?>

    實例演示

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

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

    文檔

    Ajax 傳遞JSON實例代碼

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

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 国内精品伊人久久久久av一坑| 欧美精品成人3d在线| 永久免费精品视频| 亚洲精品无码av天堂| 97久久精品人人澡人人爽| 3D动漫精品啪啪一区二区下载| 亚洲国产精品狼友中文久久久| 国产成人亚洲精品影院| 久久国产免费观看精品| 午夜福利麻豆国产精品 | 亚洲视频在线精品| 国产精品国产AV片国产| 国产精品999| 久久丫精品国产亚洲av不卡 | 亚洲国产成人久久精品动漫| 国精无码欧精品亚洲一区| 综合在线视频精品专区| 久久无码人妻精品一区二区三区| 久久精品午夜一区二区福利| 日本五区在线不卡精品| 国产午夜精品理论片免费观看| 久久久国产精品网站| 国产精品亚韩精品无码a在线| 久久久久亚洲精品天堂| 亚洲韩国精品无码一区二区三区| 另类国产精品一区二区| 国产精品综合久久第一页| 成人国产一区二区三区精品| 欧美精品第欧美第12页| 精品999在线| 国内精品久久久久影院免费| 国产精品高清一区二区人妖| 国产最新进精品视频| 精品无码久久久久久尤物| 亚洲精品成人无码中文毛片不卡| 亚洲国产精品自在拍在线播放| 拍国产乱人伦偷精品视频| 久久久久亚洲精品男人的天堂 | 国产高清一级毛片精品| 国产高清日韩精品欧美激情| 国产精品伊人久久伊人电影|