接下来写的都是我自己学习中的一点小经验,如果有不对的地方或者有什么好的建议或意见,请前辈们指点一下~
Ajax跨域和不跨域这个问题,几乎2个星期才搞出来,没办法,用到的知识全部自学的,只能百度一点点解决问题。
前端页面我是用html5+css3写的,引进jquery mobile,这个我也要百度慢慢学习。
大学四年白学习了,一直以为前端页面不能调式,每次写代码都是很认真,不敢出错,因为一旦出错,很难发现原因,以前少了一个逗号,我花了一天时间才找到,唉~
一、调试前端页面
在浏览器中运行页面,然后按“F12”,就可以对自己写的页面进行调试了。具体怎么调试,自己摸索一下就可以了,真得是方便多了,真恨自己没有早点知道。
二、Ajax不跨域
Ajax中的不跨域问题很好解决的,百度上有很多方法,但是对于新手来说,看了之后可能会一头雾水,现在给出我的具体解决方法。
在myEclipse中建一个web项目:html页面传参数到jsp页面,jsp页面返回值(注意:此处返回值是1或0,不是json数据类型)
userLogin.html
index.jsp简单的跨域就这样实现了~
三、Ajax跨域 什么是跨域?我暂时是这样理解的,就是在不同的域名下实现数据交互。现在我的userLogin.html 页面是放在Eclipse下的Android项目下的,index.jsp位置不 变。对跨域中两个页面稍作改变就可以解决跨域问题了。
1、userLogin.html页面中js部分做如下改变:
2、index.jsp页面中修改两个地方就可以了(1)加上这一句 ..................................
/** 获取jsonp的回调函数名 **/
//String callback = request.getParameter("callback");
...............
(2)返回值的类型改成json类型,这个地方就是我一直没有成功的原因,后来百度知道了要将返回值改成json类型,也有人告诉我不是json类型也可以实现跨域,但是我没有成功。.............if(b!=0){out.println(callback+"('1')"); //返回值json类型
}else{ out.println(callback+"('0')"); //返回值json类型}............Ajax跨域的问题也就这样解决了。
希望大家多多指点~