加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

AJAX中不跨域和跨域问题的解决方法

发布时间:2020-12-16 01:53:22 所属栏目:百科 来源:网络整理
导读:接下来写的都是我自己学习中的一点小经验,如果有不对的地方或者有什么好的建议或意见,请前辈们指点一下~ Ajax跨域和不跨域这个问题,几乎2个星期才搞出来,没办法,用到的知识全部自学的,只能百度一点点解决问题。 前端页面我是用html5+css3写的,引进jqu

接下来写的都是我自己学习中的一点小经验,如果有不对的地方或者有什么好的建议或意见,请前辈们指点一下~

Ajax跨域和不跨域这个问题,几乎2个星期才搞出来,没办法,用到的知识全部自学的,只能百度一点点解决问题。

前端页面我是用html5+css3写的,引进jquerymobile,这个我也要百度慢慢学习。

大学四年白学习了,一直以为前端页面不能调式,每次写代码都是很认真,不敢出错,因为一旦出错,很难发现原因,以前少了一个逗号,我花了一天时间才找到,唉~

一、调试前端页面

在浏览器中运行页面,然后按“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跨域的问题也就这样解决了。

希望大家多多指点~

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读