输出数据跟前端实现通信
程序员文章站
2022-05-14 11:25:57
...
PHP面向对象编程
<?php class Response { const JSON ="json"; /** * 按综合方式输出通信数据 * @param integer $code 状态码 * @param string $message 提示信息 * @param array $data 数据 * @param string $type 数据类型 * return string */ public static function show($code, $message = '', $data = array(), $type = self::JSON) { if(!is_numeric($code)) { return ''; } $type = isset($_GET['format']) ? $_GET['format'] : (isset($_POST['format']) ? $_POST['format'] : self::JSON); $result = array( 'code' => $code, 'message' => $message, 'data' => $data, ); if($type == 'json') { self::json($code, $message, $data); exit; } elseif($type == 'array') { var_dump($result); } elseif($type == 'xml') { self::xmlEncode($code, $message, $data); exit; } else { // TODO } } /** * 按json方式输出通信数据 * @param integer $code 状态码 * @param string $message 提示信息 * @param array $data 数据 * return string */ public static function json($code, $message = '', $data = array()) { if(!is_numeric($code)) { return ''; } $result = array( 'code' => $code, 'message' => $message, 'data' => $data ); header("Content-Type: application/json; charset=utf-8"); echo urldecode(json_encode($result)); exit; } /** * 按xml方式输出通信数据 * @param integer $code 状态码 * @param string $message 提示信息 * @param array $data 数据 * return string */ public static function xmlEncode($code, $message, $data = array()) { if(!is_numeric($code)) { return ''; } $result = array( 'code' => $code, 'message' => $message, 'data' => $data, ); header("Content-Type:text/xml"); $xml ="<?xml version='1.0' encoding='UTF-8'?>n"; $xml .="<root>n"; $xml .= self::xmlToEncode($result); $xml .="</root>"; echo $xml; } public static function xmlToEncode($data) { $xml =""; foreach($data as $key => $value) { $attr =""; if(is_numeric($key)) { $attr ="id='{$key}'"; $key ="item"; } $xml .="<{$key}{$attr}>"; $xml .= is_array($value) ? self::xmlToEncode($value) : $value; $xml .="</{$key}>n"; } return $xml; } }; $da = array("SUCCESS"); echo Response::show(200, urlencode('登陆成功'),$da); ?>
推荐阅读
-
在 Angular-cli 中使用 simple-mock 实现前端开发 API Mock 接口数据模拟功能的方法
-
前端调用接口得到的数据跟postman跑出来的数据里数字部份不相等
-
ASP.NET使用AjaxPro实现前端跟后台交互详解
-
PHP实现上传图片到数据库并显示输出的方法
-
利用js-cookie实现前端设置缓存数据定时失效
-
使用mock.js随机数据和使用express输出json接口的实现方法
-
JavaScript实现读取与输出XML文件数据的方法示例
-
AngularJS ngModel实现指令与输入直接的数据通信
-
perl从文件中读取数据并输出的实现代码
-
PHP读取并输出XML文件数据的简单实现方法