网页APP与后端JSON通讯方案

  • 2019 年 10 月 6 日
  • 筆記

后端api.php,用于对客户端请求进行处理

<?php    include_once( 'api.function.php' );    header("Content-type:application/json");    header("Access-Control-Allow-Origin: *");    $action = $_GET['action'];    if($action == "" || $action == NULL)    {      SendReply(ERR_GENERAL,"");    }    else if(!function_exists($action))    {      SendReply(ERR_GENERAL,"");    }    call_user_func($action);      function hello_world()    {      $data = "HELLO WORLD!";      SendReply(ERR_NOERROR,$data);    }    function hello()    {      if(!v( 'msg' )) SendReply(ERR_GENERAL,"");      $msg = v( 'msg' );      $data = $msg;      SendReply(ERR_NOERROR,$data);    }  ?>

后端api.function.php,用于定义常规函数

<?php    define("ERR_NOERROR",0);    define("ERR_GENERAL",1);    function SendReply($err_code = 0, $content = "")    {      $reply = array(        "ERROR" => $err_code,        "CONTENT" => $content      );      echo json_encode($reply);      exit();    }    function v( $str )    {      return isset( $_REQUEST[$str] ) ? $_REQUEST[$str] : false;    }  ?>

前端javascript,需要jQuery

function hello_world()  {    $.post( 'api.php?action=hello_world' , {} , function( data )    {      console.log(data);    });  }    function hello(string)  {    $.post( 'api.php?action=hello' , {'msg':"say sth"} , function( data )    {      console.log(data);    });  }