web 与 app 共用接口
2016-07-04 10:22
253 查看
之前一直做web 的练习,接收参数,返回结果,跳转页面等都在servlet的方法里面干了,没有什么问题。但是考虑到如果app访问借口,肯定需要做一些改动。
首先,接收参数方面,app用Url的方式向我的接口发出请求,他需要传送的信息:接口地址,方法名,参数,如果任然按照以前request.getParameter(“*“)肯定是行不通的,试想倘若参数很多那会造成很大的麻烦。于是让接口接收json字符串(当然在参数非常简单的情况下也可以直接跟在地址后传参),然后解析出自己想要的参数。
同理,如果是返回结果给客户端,肯定不能像以前一样放session或者request里,人家又访问不到你的session~所以同样以json字符串的形式输出到客户端。
问题来了,页面跳转是肯定不能再写在servlet里了,因为在向客户端返回json字符串事实际上是返回了一个页面文档。
于是乎,把接收参数,取返回结果,跳转页面,都交给JS做吧,借助jquery的ajax方法,其实非常简单,最简单的做法,只需要设置好请求地址,返回值类型,请求参数,回调方法就可以了,如下:
字体变大
首先,接收参数方面,app用Url的方式向我的接口发出请求,他需要传送的信息:接口地址,方法名,参数,如果任然按照以前request.getParameter(“*“)肯定是行不通的,试想倘若参数很多那会造成很大的麻烦。于是让接口接收json字符串(当然在参数非常简单的情况下也可以直接跟在地址后传参),然后解析出自己想要的参数。
同理,如果是返回结果给客户端,肯定不能像以前一样放session或者request里,人家又访问不到你的session~所以同样以json字符串的形式输出到客户端。
问题来了,页面跳转是肯定不能再写在servlet里了,因为在向客户端返回json字符串事实际上是返回了一个页面文档。
于是乎,把接收参数,取返回结果,跳转页面,都交给JS做吧,借助jquery的ajax方法,其实非常简单,最简单的做法,只需要设置好请求地址,返回值类型,请求参数,回调方法就可以了,如下:
字体变大
$.ajax({ type : "post", url : "UserServlet?method=login", async : false, data : { data:jsonStr, }, cache : false, dataType : "text", success : function(msg) { //alert(msg); if(msg=="success") { alert("login success!"); //window.location.href="NoticeServlet?method=getAllNotice"; goIndex(); } else { alert("login failed!"); //window.location.href="NoticeServlet?method=getAllNotice"; } // alert("ajax()"); /*if (!msg.pswfailure) { var url = host + ws + "/test1.action"; window.location = url; } else { $("#pwdErr").html("密码错误"); passwordFocus(); $("#password").attr("value", ""); $("#password").focus().select(); }*/ }, error : function(msg) { alert("网络错误!"); //$("#unameErr").html("网络错误!"); } });
相关文章推荐
- Android四大组件之Service精通
- Mac AppStore下载文件的获取
- Android View系统源码分析(八)—— View.onFocusedChanged()
- android 正则表达式
- no app specified on the heroku
- Verify the Developer App certificate for your account istrusted on your device.
- Android 常用Canvas
- OC学习总结之属性
- Android序列化:Serializable和Parcelable
- Android View系统源码分析(七)—— View.refreshDrawableState()
- (swift)UICollectionView方法/属性详解
- Android View系统源码分析(六)—— 导致View树重新遍历的时机
- Android Support Library 学习入门
- Android View系统源码分析(五)—— View.onTouchEvent()默认执行方式
- Android Studio 错误: 编码UTF-8的不可映射字符
- android Gradle的几个基本概念
- android Gradle的几个基本概念
- android Gradle的几个基本概念
- Platform Dependent Compilation
- iOS中respondsToSelector与conformsToProtocol的相关理解和使用