网页APP与后端JSON通讯方案

后端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);
  });
}