1、APP与服务器之间的交互原理

app端(客户端)与服务端的交互其实理解起来和容易,客户端想服务器端发送请求,服务器端进行数据运算后返回最终结果。结果可以是多种格式:

1、text 文本格式

2、xml 格式

3、json 格式

2、什么是JSON?

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。

JSON 语法规则:

数据在键值对中

数据由逗号分隔

花括号保存对象

方括号保存数组

简单的例子:

{name:'小明', age:'18'}

3、使用MUI提供的Ajax工具完成与服务器端的交互

mui框架基于htm5plus的XMLHttpRequest,封装了常用的Ajax函数,支持GET、POST请求方式,支持返回json、xml、html、text、script数据类型;

本着极简的设计原则,mui提供了mui.ajax方法,并在mui.ajax方法基础上,进一步简化出最常用的mui.get()、mui.getJSON()、mui.post()三个方法。

4、mui.ajax()

参数:

url Type: String 请求发送的目标地址

async Type: Boolean 发送同步请求

data {xx:xx,xxx:xxx} 发送到服务器的业务数据

dataType "xml": 返回XML文档,"html": 返回纯文本HTML信息;,"script": 返回纯文本JavaScript代码,"json": 返回JSON数据,"text": 返回纯文本字符串

error 请求失败时触发的回调函数,该函数接收三个参数: (xhr:xhr实例对象,type:错误描述,可取值:"timeout", "error", "abort", "parsererror"、"null",errorThrown:可捕获的异常对象)

success 请求成功时触发的回调函数,该函数接收三个参数:(data:服务器返回的响应数据,类型可以是json对象、xml对象、字符串等;,textStatus:状态描述,默认值为'success', xhr:xhr实例对象)

timeout 请求超时时间(毫秒),默认值为0,表示永不超时;若超过设置的超时时间(非0的情况),依然未收到服务器响应,则触发error回调

type 请求方式,目前仅支持'GET'和'POST',默认为'GET'方式

headers 指定HTTP请求的Header

一个完整示例

mui.init();

mui.plusReady(function(){

document.getElementById('btn1').addEventListener('tap',function(){

mui.ajax({

url : 'http://demo.hcoder.net/index.php',

type : 'GET',

success : function(data){

mui.toast(data);

},

error : function(xhr,type,errorThrown){

mui.toast(type);

}

});

});

});

5、Ajax简化模式

mui.post()方法是对mui.ajax()的一个简化方法,直接使用POST请求方式向服务器发送数据、且不处理timeout和异常(若需处理异常及超时,请使用mui.ajax()方法),使用方法: mui.post(url[,data][,success][,dataType]),如上登录鉴权代码换成mui.post()后,代码更为简洁,如下:

mui.post('http://server-name/login.php',{

username:'username',

password:'password'

},function(data){

//服务器返回响应,根据响应结果,分析是否登录成功;

...

},'json'

);

mui.get()方法和mui.post()方法类似,只不过是直接使用GET请求方式向服务器发送数据、且不处理timeout和异常(若需处理异常及超时,请使用mui.ajax()方法),使用方法: mui.get(url[,data][,success][,dataType]),如下为获得某服务器新闻列表的代码片段,服务器以json格式返回数据列表

mui.get('http://server-name/list.php',{category:'news'},function(data){

//获得服务器响应

...

},'json'

);

mui.getJSON()方法是在mui.get()方法基础上的更进一步简化,限定返回json格式的数据,其它参数和mui.get()方法一致,使用方法: mui.get(url[,data][,success]),如上获得新闻列表的代码换成mui.getJSON()方法后,更为简洁,如下:

mui.getJSON('http://server-name/list.php',{category:'news'},function(data){

//获得服务器响应

...

}

);

mui APP与服务器之间的交互原理

MUI APP关于页面之间的传值,plusready和自定义事件

最近在用MUI开发这个APP,发现有时候这个plusready不起作用,表现在,这个页面如果重复打开,这个plusready就进不去,然后上一个页面传过来的值,就没法接收了.这个经过MUI官方确认,是 ...

[置顶] Asp.Net底层原理(一、浏览器和服务器的交互原理)

…… 一.浏览器和服务器的交互原理 二.写自己的"迷你"Asp.net框架 三.Asp.Net的请求与响应过程 1.在此之前,首先简单的模拟一下我们去请求一个网址的时候,浏览器和服 ...

来了解一下Ajax是什么?Ajax的原理?Ajax与传统Web比较?Ajax的优缺点?Ajax的Post与Get比较

一.什么是Ajax Ajax(Asynchronous Java and XML的缩写)是一种异步请求数据的web开发技术,对于改善用户的体验和页面性能很有帮助.简单地说,在不需要重新刷新页面的情况下 ...

浏览器与服务器交互原理以及用java模拟浏览器操作v

浏览器应用服务器JavaPHPApache * 1,在HTTP的WEB应用中, 应用客户端和服务器之间的状态是通过Session来维持的, 而Session的本质就是Cookie, * 简单的讲,当浏 ...

Hybrid APP基础篇(三)->Hybrid APP之Native和H5页面交互原理

本文已经不维护,新地址: http://www.cnblogs.com/dailc/p/8097598.html 说明 Hybrid模式原生和H5交互原理 目录 前言 参考来源 前置技术要求 楔子 A ...

深入分析:Android中app之间的交互(一,使用Action)

在我们开发Android App应用的时候,有些需求需要我们启动其他的App来处理一些逻辑,例如我们需要根据一个地址来调用系统或者相关的地图Map App,这样我们不用在自己的App中编写相应的功能, ...

Hybrid APP之Native和H5页面交互原理

Hybrid APP之Native和H5页面交互原理 Hybrid APP的关键是原生页面与H5页面直接的交互,如下图,痛过JSBridge,H5页面可以调用Native的api,Native也可调用 ...

混合app开发--js和webview之间的交互总结

使用场景:原生APP内嵌套H5页面,app使用的是webview框架进行嵌套 这样就存在两种情况 1.原生app调用H5的方法 2.H5调用app的方法 分别讲解下,其实app与H5之间的交互式非常简 ...

随机推荐

linux网卡驱动移植

这里重要的是物理层PHY receiver,MAC(media access control)层,这里与软件中的协议栈不同,在硬件上MAC是PHY的下一层.DM9000A将MAC和PHY做到一起,也可 ...

【翻译】VSM 和触发器

原文:The VisualStateManager and Triggers Author:Carole Snyder Silverlight 推出了可视化状态管理器( Visual State Ma ...

EPROCESS 进程/线程优先级 句柄表 GDT LDT 页表 《寒江独钓》内核学习笔记(2)

在学习笔记(1)中,我们学习了IRP的数据结构的相关知识,接下来我们继续来学习内核中很重要的另一批数据结构: EPROCESS/KPROCESS/PEB.把它们放到一起是因为这三个数据结构及其外延和w ...

Repeater分页

void BindData()        {            PagedDataSource pds = new PagedDataSource();                     ...

C++第四章循环

学习时候的点: 1.用户来控制是否继续进行的模板: char goonLoop=’y’; while(goonLoop==’y’){ //logic cout<

IIS 403&period;14 - Forbidden错误解决方法

HTTP 错误 403.14 - ForbiddenWeb 服务器被配置为不列出此目录的内容. 解决方法如下: 打开IIS的”处理程序映射设置“,在右边的操作栏下有 ”添加脚本映射“请求路径:*可执行 ...

C&plus;&plus;类静态成员变量和const常量的初始化方法

C++类静态成员变量和const常量在定义类的时候就必须初始化,否则都会编译出错. 而具初始化方法为: C++类静态成员变量初始化方法 #include #inclu ...

洛谷 &lbrack;P3973&rsqb; 线性代数

最大权闭合子图,神题 这不是线性代数,这是网络流. 我们看见这是一堆矩阵的运算,而且最后变成了一个数,那么我们就想到,把这个矩阵乘法的过程用具体的数字推出来 我们发现,a是一个01矩阵,然后其实就可以 ...

用disabled属性修饰a标签,a标签仍然能点击

1.不知道各位同学有没有遇到跟我相同的问题,就是用jQuery操作a标签disabled的,来控制重复提交表单 做过开发的都知道,表单验证重复提交,包含前端和后端,两方面的控制.前端控制使我们常用的手 ...

DAY24、面向对象

一.复习继承1.父类:在类后()中写父类们2.属性查找顺序:自己->()左侧的父类->依次往右类推3.抽离:先定义子类,由子类的共性抽离出父类 派生:父类已经创建,通过父类再去派生子类4. ...

mui用ajax服务器交互,Mui --- app与服务器之间的交互原理、mui ajax使用相关推荐

  1. C# 创建、部署和调用WebService的简单示例 webservice 可以用于分布式应用程序之间的交互,和不同程序之间的交互。 概念性的东西就不说太多,下面开始创建一个简单的webservi

    C# 创建.部署和调用WebService的简单示例 webservice 可以用于分布式应用程序之间的交互,和不同程序之间的交互. 概念性的东西就不说太多,下面开始创建一个简单的webservice ...

  2. ios服务器管理系统,ios app云服务器

    ios app云服务器 内容精选 换一换 本节操作介绍如何在移动设备上连接Linux实例.以iTerminal-SSH Telnet为例介绍如何在iOS设备上连接 Linux 实例,详细操作请参考IO ...

  3. 魔兽世界服务器排队状态app,魔兽世界服务器排队插队软件-魔兽世界7.0服务器免排队辅助预约1.2.01[预约]-乐游网游戏...

    <魔兽世界7.0服务器免排队辅助>听名字就让大家兴奋了吧,小编作为一名国服魔兽世界的玩家最期待的就是出月卡,同时最怕的也是出月卡.以前小编周末上号排队500+,现在小编周末上号排队5000 ...

  4. c java交互_C和Java程序之间的交互/通信

    如果您没有找到JNI'easy',那么您需要IPC(进程间通信)机制.因此,从您的C流程中,您可以与Java流程进行通信. 你在控制台重定向方面所做的是IPC的一种形式,实质上就是IPC. 由于你发送 ...

  5. 如何修改app服务器数据库连接,app调用服务器数据库连接

    app调用服务器数据库连接 内容精选 换一换 GaussDB(for Influx)提供使用内网.公网.负载均衡和程序代码的连接方式. GaussDB(for MySQL)全兼容MySQL协议,因此, ...

  6. java模块间调用信息_java与c++模块之间的交互方法?

    慕村225694 如果是单机的话, 确实可以使用 JNI.不过如果是各个模块之间在不同的主机上的话, 那么就需要进行网络通信了.下面我针对网络通信的方式来讲一下我的做法:针对于同步调用模式如果 Jav ...

  7. 简易html交互界面效果图,网页界面视觉和交互功能设计

    网页界面视觉和交互功能设计 随着信息化的深入,网页成为人们浏览信息.获取信息.放眼世界的主要窗口之一,下面是小编搜集整理的一篇网页界面视觉设计探讨的论文范文,希望对你的论文写作有帮助. 在传统网页的界 ...

  8. Mui --- app与服务器之间的交互原理、mui ajax使用

    1.APP与服务器之间的交互原理app端(客户端)与服务端的交互其实理解起来和容易,客户端想服务器端发送请求,服务器端进行数据运算后返回最终结果.结果可以是多种格式: 1.text 文本格式 2.xm ...

  9. MUI+Htmlplus开发APP实现页面之间传值

    为了保持每个界面之间的数据通讯和相关联性,页面之间传值是开发hybrid app常见的一个问题.怎么实现页面之间数据交互呢?我试过两种方法: 利用缓存 mui页面的extras参数 利用缓存实现页面之 ...

  10. 制作拼多多app网页css,5+App下Mui框架开发仿拼多多App

    5+App下Mui框架开发仿拼多多App 一.整体项目介绍说明 二.页面展示 三.页面实现主要技术和难点 四.关键代码讲解 五.源码资源 一.整体项目介绍说明 "拼多多"App+移 ...

最新文章

  1. python sched_python事件调度库sched
  2. gif加文字 php,gif动态图片添加文字 gif制作软件 怎样给gif动态图片添加文字
  3. 基于公开数据的特殊人群在线活动特征挖掘
  4. 汇编在嵌入式编程中的作用_如何在嵌入式Power BI报表中以编程方式传递凭据
  5. Java面向对象的构造方法例子
  6. VB之Collection---Collection集合类
  7. 查看mysql 表 被人删除_我的数据库中有一表总是被什么人删掉数据?我如何查出来是谁做的?...
  8. 阶段5 3.微服务项目【学成在线】_day04 页面静态化_01-页面静态化需求分析
  9. 2010年下半年信息系统监理师下午题的答题参考五
  10. 计算机毕业设计android的手机商城app(源码+系统+mysql数据库+Lw文档)
  11. java 农历公历转换_Java怎样编程实现农历和阳历转换?
  12. 关于 ThreeJS 线宽 lineWidth 无法正常显示 太大 需要缩小 窗口缩放会影响线粗细 等问题
  13. mysql innodb 唯一键里的字段为什么不能为NULL
  14. 写给学生看的系统分析与验证笔记(十二)——验证ω-正则属性(Verifying ω-regular properties)
  15. RxJava串行执行任务
  16. 3种方式获取Wifi名称 兼容获取Wifi名字为空 WifiInfo.getSSID为空的情况
  17. 见猎心喜 浅尝辄止 偶有所得 不足为法
  18. .net 后端生成海报
  19. 树莓派不插HDMI不能开机的解决方法
  20. Kafka快速入门(Kafka消费者)

热门文章

  1. 微信小程序:使用普通链接二维码跳转到小程序,解析二维码携带参数(微信扫普通普通链接二维码和小程序里扫二维码解析参数方法)
  2. 双系统——彻底删除ubuntu
  3. MATLAB的cat函数
  4. 计算机怎么格式化电脑吗,怎么格式化电脑
  5. 使用pandas比对Excel表格,把不同数据列出
  6. QQ互联 成为开发者登录后没跳转
  7. win10系统下摄像头无法打开的解决方法
  8. Python通用编程 - 第二章:流程控制
  9. 能完成加减乘除以及开根号的Java计算器
  10. 【Debug】 Packet for query is too large (1155878 > 1048576),max_allowed_packet设置.