转自原文 在Html5中与服务器交互

刚刚涉足职场,上头就要我研究HTML5,内嵌到手机上,这对我来说完全是一个陌生的领域,不过也正好给自己一个机会来学习,最近做到要跟服务器交互这部分,这部分可是卡了很久,不过最终还是解决了。下面介绍两种方法:

  • ajax
  • Cordova Http

首先要说明一点,如果是在PC端上进行交互的话,这就是跨域问题,需要服务器那边进行一些修改,否则的话是不能访问的。我一开始也是在PC端上测试的,所以这个问题一直卡了很久,原来只要内嵌到手机上就不存在跨域问题了,真蛋疼~,所以我介绍的两张方法都是基于内嵌到手机上的,要注意了!

ajax及使用

如果是用原生态的ajax写访问的话,就比较麻烦,所以这次我用的是jQuery封装好的ajax,先上代码:

$.ajax({
type:"GET",
url:"***",
dataType:"json",
data:{
appId:"",
passportCode:"*******",
clientTye:"android",
},
success:function(data){
alert("访问成功" + JSON.stringify(data));
},
error:function(jqXHR){
alert("发生错误" + jqXHR.status);
}
});

这里面有好几个字段,这几个字段的意思是:

字段 描述
type 指明是get操作还是post操作
url 要访问的地址,就是服务器提供的接口
dataType 服务器预期返回的数据格式,如(xml,json,html)
data 参数
success 访问成功时的回调函数
error 访问失败时的回调函数

补充说一下:success:function(data,textStatus,jqXHR)这三个参数是可选的,我习惯就只带一个参数,就是data。这个返回的data已经是json对象来的,可以直接解析的。假如返回的是
{
result:0,
description : ””,
hasNewVersion : ””,
verson: “”,
url:““,
clientType:““ ,
updateDesc:““ ,
updateTime:““ ,
mustUpdate:””
},
那么data.result就是0了,是不是觉得很方便呢。效果图:

Cordova Http

这种方法是要基于你的项目是cordova项目。这里稍微说两句,cordova前身是phoneGap,其实两者是一样的,都是移动web的开发框架,有兴趣的可以去了解一下!由于这篇文章(Cordova环境安装配置)主要是讲如何使用这个插件,环境搭建的就不说了。

  • 安装插件
    在命令行里面进入到自己的项目里面:

    点击回车,等待一会就可以了,再打开自己的项目的plugins,就可以看到cordova-plugin-http这个文件,证明插件安装成功了!

  • 使用

cordovaHTTP.post("url地址", {
appId:"",
phone:"",
password:"",
clientTye:"web", //参数
}, {//这个我基本一直都是空的},
function(response) { //成功回调的函数
// prints 200
alert(response.status + "访问成功" + "\n返回的json数据 为:" + response.data);
try {
//转化为json对象
var jsonbj = JSON.parse(response.data);
} catch(e) {
console.error("JSON parsing error");
}
}, function(response) { //失败回调的函数
// prints 403
alert("访问失败" + response.status + "、" + response.data);
//prints Permission denied
console.log(response.error);
});

这个也没什么好说的,看完之后也明白的了。
具体请参考[https://github.com/wymsee/cordova-HTTP][2].

其实这个难度也不是很大的,只要看一下就知道怎样用了,希望对大家和对自己也有用!

在Html5中与服务器交互的更多相关文章

  1. HTML5中的服务器‘推送’技术 -Server-Sent Events

    转帖:http://www.developersky.net/thread-63-1-1.html 一直以来,HTTP协议都是严格遵循Request-Response模型的.客户端发送一个Reques ...

  2. Android开发中与服务器交互时,遇到java.io.IOException: Target host must not be null的问题

    当我遇到这个问题的时候,也在网上查找好半天.找到了一个和这个问题很类似的问题——java.lang.IllegalStateException: Target host must not be nul ...

  3. HTML5中的SSE(服务器推送技术)

    本文原链接:https://cloud.tencent.com/developer/article/1194063 SSE技术详解:一种全新的HTML5服务器推送事件技术 前言 概述 基本介绍 与We ...

  4. HTML5中的sessionStorage和localStorage

    html5中的Web Storage包括了两种存储方式:sessionStorage和localStorage. sessionStorage用于本地存储一个会话(session)中的数据,这些数据只 ...

  5. session与cookie的区别以及HTML5中WebStorage理解

    一.session与cookie的区别 二.HTML5中WebStorage理解 WebStorage的目的是克服由cookie所带来的一些限制,当数据需要被严格控制在客户端时,不需要持续的将数据发回 ...

  6. html5中的SessionStorage 和localStorage

    html5中的Web Storage包括了两种存储方式:sessionStorage和localStorage. sessionStorage用于本地存储一个会话(session)中的数据,这些数据只 ...

  7. HTML5中Access-Control-Allow-Origin解决跨域问题

    www.111cn.net 更新:2015-01-07 编辑:flyfox 来源:转载 跨域在开发中一些是一个比较常见的问题虽然有json或者xml来解决,现在html5开始流行了,我们可以通过Acc ...

  8. HTML5中的Web Workers

    https://www.cnblogs.com/yanan-boke/p/6954390.html https://segmentfault.com/a/1190000014938305 HTML5 ...

  9. AngularJs与Java Web服务器交互

    AngularJs是Google工程师研发的产品,它的强大之处不是几句话就能描述的,只有真正使用过的人才能体会到,笔者准备在这篇文章中,以一个简单的登录校验的例子说明如何使用AngularJs和Web ...

随机推荐

  1. SVN中各种符号箭头含义

    黄色感叹号(有冲突): -- 这是有冲突了,冲突就是说你对某个文件进行了修改,别人也对这个文件进行了修改,别人抢在你提交之前先提交了,这时你再提交就会被提示发生冲突,而不允许 你提交,防止你的提交覆盖 ...

  2. mbed

    mbed介绍--ARM最新面向IOT的RTOS与平台 文章为本人原创,转载请注明:http://blog.csdn.net/guo8113/article/details/40479303 mbed是 ...

  3. esql开发总结

    1 定义或者声明方法 int method(char *arg1,char* arg2...);   实现方法 int method(char *arg1,char* arg2...)     EXE ...

  4. jenkins启动失败

    一:http://localhost:8080已经可以进了 二:修改端口 只是因为8080端口已经有程序占用了,需要修改端口号,但是在jenkins.xml文件中修改端口号,并不起作用. 解决方法是: ...

  5. godoc工具使用

    golang除了语言有一定的规范外,对于文档的生成也是非常不错的.仅仅要按go的格式来写的程序,都能够非常easy的生成文档. godoc命令介绍: http://golang.org/cmd/god ...

  6. Python 加载数据

    1. numpy data = np.loadtxt('./data/txtdata.csv') ⇒ data 是 numpy.ndarray 类型

  7. oracle手工生成AWR报告方法

    AWR(Automatic Workload Repository)报告是我们进行日常数据库性能评定.问题SQL发现的重要手段.熟练掌握AWR报告,是做好开发.运维DBA工作的重要基本功. AWR报告 ...

  8. 树状数组(Binary Indexed Tree(BIT))

    先不说别的,这个博客为我学习树状数组提供了很大帮助,奉上传送门 http://blog.csdn.net/int64ago/article/details/7429868 然后就说几个常用的操作 in ...

  9. Selenium键盘鼠标操作总结

    鼠标操作 org.openqa.selenium.interactions.Actions 1.给元素设置焦点. 有时对于a标签等,为了不跳转到别的链接,但是需要设置焦点时就可使用. action.m ...

  10. Rabbit MQ 学习 (二)

    接连上一篇 :安装Erlang环境 之后,这篇安装 Rabbit Server 官网下载安装包:http://www.rabbitmq.com/install-windows.html 打开安装一路下 ...