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)获取其他域名下的内容,然后再把获得内容返回到前端,这样因为在同一个域名下,所以就不会出现跨域的问题。

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

版权声明:程序员胖胖胖虎阿 发表于 2022年8月31日 上午5:24。
转载请注明:AJAX跨域问题解决方案 | 胖虎的工具箱-编程导航

相关文章

暂无评论

暂无评论...