|
使用【端API】连接到自己的服务器数据库获取数据 - api.ajax
[复制链接]
本帖最后由 哈尼CC 于 2015-3-3 14:38 编辑
看到论坛友友需要,自己也需要就尝试了下。
使用api.ajax这个方法,官方文档地址:
http://docs.apicloud.com/%E7%AB%AFAPI/api【在Method中找ajax】
【首先】
1.如果想快速开发,没有自己的服务器,还是推荐使用云API的数据云。
2.不使用云API的数据云,可能是因为有web版且已经有商用数据。
3.不使用云API的数据云,需自己写数据接口,即客户端发送请求接收处理与生成json数据给客户端进行交互。
4.感谢APICloud提供新的APP开发方式。
其实也不难,使用api.ajax进行请求即可。PHPer,以下使用演示使用PHP,数据库使用Mysql,JAVA党或者.NET党请自行coding...
【连接到数据库(文件放在服务器上),服务器端输出JSON】
- <?php
- /*
- * 配置连接数据库信息
- */
- $host='localhost';//主机
- $user='root';//数据库账号
- $password='';//数据库密码
- $database='test';//数据库名
- //打开数据库连接
- $db=mysqli_connect($host,$user,$password,$database);
- //判断连接是否成功
- if($db){
- $db->query("set names utf8");//设置UTF-8编码(JSON的唯一编码)
- }else{
- echo 'DATABASE_CONNECTION_DIE';//数据库连接失败
- exit;
- }
- //sql查询语句
- $sql="select id,name,sex,age from person";
- $result=$db->query($sql);
- while($row=$result->fetch_assoc()){
- $person_info[]=$row;//将取得的所有数据赋值给person_info数组
- }
- echo json_encode($person_info);//输出JSON
- ?>
复制代码 输出的JSON示例:
- [{"id":"1","name":"\u54c8\u5c3c","sex":"\u7537","age":"22"},{"id":"2","name":"\u5c0f\u9648","sex":"\u5973","age":"21"},{"id":"3","name":"\u5c0f\u767d","sex":"\u672a\u77e5","age":"1"}]
复制代码 【测试用的数据库SQL语句】
- --
- -- Database: `test`
- --
- -- --------------------------------------------------------
- --
- -- 表的结构 `person`
- --
- CREATE TABLE IF NOT EXISTS `person` (
- `id` int(11) NOT NULL,
- `name` varchar(5) NOT NULL,
- `sex` varchar(2) NOT NULL,
- `age` int(3) NOT NULL,
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
- --
- -- 转存表中的数据 `person`
- --
- INSERT INTO `person` (`id`, `name`, `sex`, `age`) VALUES
- (1, '哈尼', '男', 22),
- (2, '小陈', '女', 21),
- (3, '小白', '未知', 1);
复制代码
搞定服务器端输出JSON后,重点来了...
【端API使用api.ajax读取接口数据】
- <!DOCTYPE HTML>
- <html>
- <head>
- <meta charset="utf-8">
- <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
- <title>test</title>
- </head>
- <body>
- <button onclick="showPersonInfo()">点我获取数据</button>
- </body>
- <script type="text/javascript" src="../script/api.js"></script>
- <script>
- function showPersonInfo(){
- api.showProgress();//显示加载进度框
- //使用api.ajax请求数据,具体使用方法和参数请看官方文档,这里使用get方法演示
- api.ajax({
- url:'http://192.168.0.10/get.php',//如果地址访问不到会请求出错,请填写自己的接口地址
- method:'get',
- cache:'false',
- timeout:30,
- dataTpye:'json',
- },function(ret,err){
- api.hideProgress();//隐藏加载进度框
- if(ret){
- for(var i=0;i<ret.length;i++){
- var html='<br>'+'ID:'+ret[i].id+'<br>'+'姓名:'+ret[i].name+'<br>'+'性别:'+ret[i].sex+'<br>'+'年龄'+ret[i].age;
- document.write(html);
- }
- }else{
- api.alert({msg:('错误码:'+err.code+';错误信息:'+err.msg+'网络状态码:'+err.statusCode)});
- }
- });
- }
- </script>
- </html>
复制代码
OK,如果要POST方式,请自行参考官方文档。
思路就是这样,其它的依此类推:
客户端发送请求,服务器端接收处理后返回数据。
用户登录和状态检查推荐使用token检验,不要直接post密码。
老鸟勿喷,菜鸟成长中......
附件打包:
|
本帖子中包含更多资源,您需要 登录 才可以下载或查看,没有帐号?立即注册
X
|