使用HBuilder开发移动APP:ajax调用接口数据

既然要做APP,与接口交互式少不了的,除非只是想做一个纯静态的APP。所以html5+的环境准备好后,我最先开始研究的就是如何与接口交互。

使用HBuilder新建示例教程后,里面会有一个ajax(网络请求)的列子,文件目录是examples/ajax.html。看了下这个文件的代 码,它的功能就是点击“提交”按钮后提交参数给接口,然后根据选择的返回数据格式,将一段字符串打印出来。我准备改造下这段代码,改由页面加载时调用列表 接口,并在APP里显示这段列表,毕竟这种情况应该经常会用到。

1。在list.html里增加一个访问这段列表的链接

<li class="mui-table-view-cell mui-plus-visible">
	<a class="mui-navigate-right" href="examples/ajaxlist.html">
		ajax加载接口列表数据
	</a>
</li>

2。在examples目录新建文件ajaxlist.html

3。在这个文件里先写上展示列表的HTML框架。我是这么写的

<div id="records_count">
	//显示接口列表里的记录总数
</div>
<table id="list" border="1" width="100%" style="padding: 5px 10px;text-align: center;" >
	//显示列表数据
</table>

4。码一段JS代码,用于在页面加载时ajax调用接口

var network = true;
if(mui.os.plus){
	mui.plusReady(function () {
		if(plus.networkinfo.getCurrentType()==plus.networkinfo.CONNECTION_NONE){
			network = false;
		} else {
		    //调用接口数据的入口方法
			getList();
		}
	});

}

其中,getList就是调用接口数据的入口方法。下面来编写getList方法

var ajax = function() {
	//利用askh5的演示接口数据
	var url = "http://askh5.com/try/data/starJson";
	//发送数据,随便填,反正返回的数据都是那个样
	var data = {
		name: "askh5.com",
		author: "gzdayou",
		description: "最好的HTML5社区..."
	};
	respnoseEl.innerHTML = ‘正在请求中...‘;
	$.post(url, data, success, ‘json‘);
};

//加载时调用接口数据,加载列表
function getList()
{
	if(network){
		ajax();
	}else{
		mui.toast("当前网络不给力,请稍后再试");
	}
}

这里面调用的接口是在askh5的angularjs入门教程里看到的,是一段演示json数据。

$.post(url, data, success, ‘json‘);

上面这个代码片段里的success就是post方法的回调方法,下面来编写success方法,来处理返回的数据

var respnoseEl = document.getElementById("records_count");
var list = document.getElementById("list");
//成功响应的回调函数
var success = function(response) {
	var str = JSON.stringify(response);
	console.log(str);
	//str = JSON.stringify(response);
	respnoseEl.innerHTML = "总记录:" + response.count;
	list.innerHTML = "<tr class=‘title‘><td>字段1</td><td>字段2</td></tr>";
	mui.each(response.records, function(key, elem) {
		console.log("elem.name:" + elem.Name );
		var li = document.createElement("tr");
		//li.setAttribute("id", key);
		var col1 = document.createElement("td");
		col1.className = "col1"
		col1.innerHTML = elem.Name;
		li.appendChild(col1);
		var col2 = document.createElement("td");
		col2.className = "col2"
		col2.innerHTML = elem.Club;
		li.appendChild(col2);
		list.appendChild(li);
	});
	console.log("list" + list.innerHTML );
};

好大一坨代码用来生成一段列表,要是用angularjs会少些好多代码。。。
最后的效果就是:

时间: 2024-10-07 05:16:06

使用HBuilder开发移动APP:ajax调用接口数据的相关文章

使用HBuilder开发移动APP

前言 HBuilder是DCloud(数字天堂)推出的一款支持HTML5的Web开发IDE.HBuilder的编写用到了Java.C.Web和Ruby.HBuilder本身主体是由Java编写,它基于Eclipse,所以顺其自然地兼容了Eclipse的插件.快,是HBuilder的最大优势,通过完整的语法提示和代码输入法.代码块等,大幅提升HTML.js.css的开发效率. 内置MUI框架,真正彻底的跨平台开发,不是简单的跨iOS和Android.基于mui,一套HTML5工程,通过前端构建工具

HBuilder开发移动App——manifest.json文件解析

以前做过Android App开发,对于各项配置都是在AndroidManifest.xml文件中完成的,包括权限的设定.图标.标签.App的名字.Activity注册等等 使用HBuilder开发移动App,HBuilder是基于Eclipse进行二次开发的,所以新建项目等各项操作与Eclipse类似. 首先新建一个移动App项目 这里选择mui项目,点击完成后可以看到项目文件列表,如下: 这里我们主要看一下manifest.json文件 应用信息 选择应用信息一项,然后 1.填写应用名称 也

HBuilder开发的APP使用个推推送消息

1.APP端配置 a.允许使用第三方插件: 打开app的manifest.json文件,切换到可视化视图,允许使用第三方插件.    b.配置第三方插件(个推) 在APP的manifest.json文件中的permission节点下添加push节点: "Push": { "description": "管理推送消息插件" }, 如果已经存在的话不用修改. 在plus-->distribute-->plugins节点下添加push节点

基站云接口开发实例(PHP调用基站数据接口)

基站云平台接口调用实例,采用CURL快速访问基站云平台的基站数据接口,获取基站数据,并通过JSON解析成数组数据. <?php /* 基站云接口调用实例 QQ:742631333 */ header("Content-type:text/html;charset=utf-8"); //UTF8编码 $apikey=""; //设置APIKEY $mnc=0; //0移动 1联通 $lac=2; //大区号 $cell=2; //小区号 $apiurl=&quo

2015年11月16日 Hbuilder开发HTML5 APP之向导页制作

研究了下,向导页的制作还是比较简单的,主要使用的是mui控件中的”图片轮播“组件,组件的标签写法手册中有,中间发现个有趣的东西,如果要作全屏,可以加个样式mui-fullscreen 滑动图片时会自动激发slide事件,要想知道翻到哪页了,可使用事件参数event,event.detail.slideNumber得到 比如翻到最后一页了,让某个按钮的透明度缓慢变成1,这样就可以看到得到按钮了,点击后跳转到主页!

ajax请求接口数据

/** * 定义全局变量 */ var V_WEBBASE = "https://tsch.fromfuture.cn:7714/GZ/dtdocsfconroom/addfollowup?guid="; //入参var code = ""; //机构码var guid = ""; //患者IDvar docguid = ""; //医生ID var temperature = ""; //体温var fo

HBuilder开发App教程05-滴石和websql

滴石 介绍 滴石是用HBuilder开发的一款计划类app, 用到HBuilder,mui,nativejs以及h5一些特性. 预期 目前只开发到todolist级别, 以后计划做成日计划,月计划,年计划等计划类app. 网址 官网:http://uikoo9.com/dishi 开源:http://git.oschina.net/uikoo9/uikoo9-dishi 教程 以后HBuilder开发app以滴石为例,做一个简单的app. 功能介绍 列表页 列出要完成的事项,具体功能: 1.左滑

jquery ajax 调用kkpager插件 异步加载重新生成分页后,点击页数还是跟首次加载一样

kkpager的用法网上有很多,可以百度的到. 但是在调用动态数据的时候发现两个问题 1.Ajax数据变化但是页码不变的问题,方法来自网上 2.按查询条件重新生成数据和分页,点击分页事件后totalpage 和totalrecord 和没加条件查询的数据一样. 主要原因是因为客户端不会帮你保留总页码数和总条数, 所以在按查询条件重新生成数据时,用hidden按钮绑定你的总页数和总条数 下面是ajax 调用后台数据,返回的总页数和总条数,都存放在hidden里了 $.ajax({ type: "g

微信支付开发(APP)的各种坑,.net和iOS的各种陷阱,解决.net调用下单接口提示无权限,解决iOS跳转到微信支付页面中间只有一个确定按钮

直入主题之前,请容我吐槽一下微*的官方东西:ASDFQ%#$%$#$%^[email protected]#$%DSFQ#$%.......:吐槽玩了!大家心照就好. 要完成手机APP跳转到微信的APP进行微信支付,需要进行如下操作: 1.先去微信的开放平台(http://open.weixin.qq.com)进行开发者账号的注册. 2.新建一个APP应用,然后填写必填信息提交审核. 3.进入APP应用,在接口信息中,进行申请“获得微信支付能力”的功能,期间会提交相关的公司营业信息证明等. 通过