君知否的gravatar头像
君知否 2017-05-16 21:01:09
AJAX跨域问题解决方案

最近用Hbuilder开发一个简单的APP应用,登录、注册时调用后台的方法,结果出现了ajax跨域的访问,很纳闷怎么会跨域,于是又想起了度娘......

AJAX跨域问题解决方案

一共总结出三种方案:代理JSONPXHR2(XMLHttpRequest Level 2)

第一种:jsonp

$.ajax({

type:"get",

url:"http://localhost:8080/login",/*url写异域的请求地址*/

dataType:"jsonp",/*加上datatype*/

jsonpCallback:"success_jsonpCallback",/*设置一个回调函数,名字随便取,和下面的函数里的名字相同就行*/

success:function(){

。。。

}

});

第二种:XMLHttpRequest Level 2

只需要在服务器端头部加上下面两句代码:

  header( "Access-Control-Allow-Origin:*" ); //*代表可以访问的地址,可以设置指定域名

  header( "Access-Control-Allow-Methods:POST,GET" );

     这样在客户端使用常规的AJAX代码即可。

第三种:代理

这种方式是通过后台(ASP、PHP、JAVA、ASP.NET)获取其他域名下的内容,然后再把获得内容返回到前端,这样因为在同一个域名下,所以就不会出现跨域的问题。

亲测第一种,第二种可以实现,第三种没有测试。


打赏
最近浏览
youwuzuichen  LV10 2019年10月4日
hadoopCJ  LV5 2019年9月25日
mq13947193109  LV19 2018年12月22日
kenpfang  LV18 2018年3月15日
miaoshi  LV16 2018年2月6日
wgc_jy  LV21 2018年2月2日
zhizaideren  LV2 2018年1月19日
无法激活  LV1 2017年11月22日
weienqing  LV17 2017年11月17日
taojava  LV3 2017年11月10日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友