真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何實現(xiàn)php之接口與前端數(shù)據(jù)交互

這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)如何實現(xiàn)php之接口與前端數(shù)據(jù)交互,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

成都創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比西工網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式西工網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋西工地區(qū)。費用合理售后完善,十載實體公司更值得信賴。

最近在做前后端數(shù)據(jù)交互的嘗試,也跳了很多坑,使用的是php+bootstrap-table+js,把一些收獲記錄在這里,方便查詢。

這個小項目,僅有3個文件,分別為:

1.crud.html
2.data.php
3.crud.sql

數(shù)據(jù)交互實現(xiàn)1:查詢

1.MySQL 數(shù)據(jù)庫建表
2.php查詢接口
3.前端數(shù)據(jù)展現(xiàn)

mysql 數(shù)據(jù)庫建表

  • 數(shù)據(jù)庫名稱:crud
  • 第一個表名:t_users
  • 主鍵:user_id,自增長排列

如何實現(xiàn)php之接口與前端數(shù)據(jù)交互

php:

fetch_assoc()){
      $data[] = $row;
    }
    
    $json = json_encode(array(
      "resultCode"=>200,
      "message"=>"查詢成功!",
      "data"=>$data
    ),JSON_UNESCAPED_UNICODE);
    
    //轉(zhuǎn)換成字符串JSON
    echo($json);
  }
  
  
  /**查詢服務(wù)器中的數(shù)據(jù)
   * 1、連接數(shù)據(jù)庫,參數(shù)分別為 服務(wù)器地址 / 用戶名 / 密碼 / 數(shù)據(jù)庫名稱
   * 2、返回一個包含參數(shù)列表的數(shù)組
   * 3、遍歷$sqls這個數(shù)組,并把返回的值賦值給 $s
   * 4、執(zhí)行一條mysql的查詢語句
   * 5、關(guān)閉數(shù)據(jù)庫
   * 6、返回執(zhí)行后的數(shù)據(jù)
   */
  function query_sql(){
    $mysqli = new mysqli("127.0.0.1", "root", "root", "crud");
    $sqls = func_get_args();
    foreach($sqls as $s){
      $query = $mysqli->query($s);
    }
    $mysqli->close();
    return $query;
  }
?>

前端實現(xiàn):




  
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    增刪改查
  

  
    

實現(xiàn)效果:

如何實現(xiàn)php之接口與前端數(shù)據(jù)交互

數(shù)據(jù)交互實現(xiàn)2:刪除

在做刪除時遇到不少的坑,究其原因是因為對SQL語句不熟悉,對php不熟悉,不過,總結(jié)了以下幾點,供參考:

1.delete 返回的參數(shù)只能用 $_GET 獲取;

2.delete 返回的參數(shù)要放在URL中,不能放在body中;body中的參數(shù)是用來查詢的;

3.SQL語句一定要熟練,一步錯,步步錯;

4.要在數(shù)據(jù)庫中執(zhí)行SQL語句檢查語句是否執(zhí)行正確,要使用 Rest Client 測試URL請求是否正確;

php:

前端實現(xiàn)JS部分:

var $table = $('#table'),
  $remove = $('#remove');

  $(function() {
    delData();
  });

function delData() {
        $remove.on('click', function() {
          if(confirm("是否繼續(xù)刪除")) {
            var rows = $.map($table.bootstrapTable('getSelections'), function(row) {
              //返回選中的行的索引號
              return row.user_id;
            });
          }
          
          $.map($table.bootstrapTable('getSelections'),function(row){
            var del_url = "./php/data.php";
            //根據(jù)userId刪除數(shù)據(jù),因為這個id就是 傳給服務(wù)器的參數(shù)
            var rowId = row.user_id;
            
            $.ajax({
              type:"delete",
              url:del_url + "?action=del_row&rowId=" + rowId,
              dataType:"html",
              contentType: 'application/json;charset=utf-8',
              success: function(data) {
                $table.bootstrapTable('remove',{
                  field: 'user_id',
                  values: rows
                });
                $remove.prop('disabled', true);
              },
              error:function(data){
                alert('刪除失??!');
              }
            });
          });
        })
      }

調(diào)試方法:

如何實現(xiàn)php之接口與前端數(shù)據(jù)交互

如何實現(xiàn)php之接口與前端數(shù)據(jù)交互

如何實現(xiàn)php之接口與前端數(shù)據(jù)交互

數(shù)據(jù)交互實現(xiàn)3:新增

在寫php的方法上,我覺得我的方法是有問題的,因為所有的參數(shù),也就是所有的需要新增的數(shù)據(jù)都是通過 接口以 ? 后跟參數(shù)的方式添加成功的。功能是可以實現(xiàn),但是如果新增的數(shù)據(jù)較大,這個方法顯示是不可行的,但是還沒有找到合適的方法,煩請大俠們指點。

php:

query($s);
    }
    $mysqli->close();
    return $query;
  }
?>

前端實現(xiàn)JS部分:

html使用了bootstrap 的 modal作為新增時的彈出框


    
          

var $table = $('#table'),
   $remove = $('#remove');

  $(function() {
      searchData();
    delData();
        
    $('#save').click(function(){
      addData();
    });
  }); 
function addData(){
        var userName = $('#userName').val();
        var userAge = $("#userAge").val();
        var userSex = $('#user-sex').val() == '0' ? '男' : '女';
        
        var addUrl = "./php/data.php?action=add_row&user_name=" + userName + "&user_age=" + userAge + "&user_sex=" + userSex;
        
        $.ajax({
          type:"post",
          url:addUrl,
          dataType:'json',
          contentType:'application/json;charset=utf-8',
          success:function(data){
            console.log("success");
          },
          error:function(data){
            console.log("data");
            //添加成功后隱蒧modal框
            setTimeout(function(){
              $('#exampleModal').modal('hide');
            },500);
              //隱藏modal框后重新加載當(dāng)前頁
            setTimeout(function(){
              searchData();
            },700);
          }
        });
      }

至此,還沒有解決如下問題:

1.表單驗證;

2.添加多條數(shù)據(jù)后,php如何接收參數(shù);

3.新增成功后,在$.ajax的方法中,為什么,新增成功后的其它操作要在 error 這個對象中實現(xiàn)?而不是在 sucess 中實現(xiàn)?

上述就是小編為大家分享的如何實現(xiàn)php之接口與前端數(shù)據(jù)交互了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


文章名稱:如何實現(xiàn)php之接口與前端數(shù)據(jù)交互
URL地址:http://weahome.cn/article/ihchop.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部