概述
之前一直做web 的练习,接收参数,返回结果,跳转页面等都在servlet的方法里面干了,没有什么问题。但是考虑到如果app访问借口,肯定需要做一些改动。
首先,接收参数方面,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("网络错误!");
}
});
最后
以上就是如意糖豆为你收集整理的web 与 app 共用接口的全部内容,希望文章能够帮你解决web 与 app 共用接口所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复