ajax解决跨域问题(POST、GET)以及如何判断跨域?

百度百科:AJAX 跨域访问是用户访问A网站时所产生的对B网站的跨域访问请求均提交到A网站的指定页面
由于安全方面的原因, 客户端js使用xmlhttprequest只能用来向来源网站发送请求,比如在www.readlog.cn下去请求test.readlog.cn的数据,都是不行的。

在这里插入图片描述

怎样算是跨域呢?

URL说明是否允许通信
http://www.a.com/a.js,http://www.a.com/b.js同一域名下允许
http://www.a.com/lab/a.js,http://www.a.com/script/b.js同一域名,不同文件夹允许
http://www.a.com:8000/a.js,http://www.a.com/b.js同一域名,不同端口不允许
http://www.a.com/a.js,https://www.a.com/b.js同一域名,不同协议不允许
http://www.a.com/a.js,http://70.32.92.74/b.js域名和域名对应ip不允许
http://www.a.com/a.js,http://script.a.com/b.js主域相同,子域不同不允许
http://www.a.com/a.js,http://a.com/b.js同一域名,不同二级域名(同上)不允许(cookie这种情况下也不允许访问)
http://www.cnblogs.com/a.js,http://www.a.com/b.js不同域名不允许

如何解决跨域问题?

GET请求

dataType : "jsonp",//jsonp跨域请求

注意:当 dataType : “jsonp"时,type只能为"GET”。

POST请求

至于POST请求的话,就比较麻烦了,需要到后台进行配置

public void xxx(HttpServletRequest request,HttpServletResponse response) throws Exception{
        // 指定允许其他域名访问
        response.addHeader("Access-Control-Allow-Origin","*");
        // 响应类型
        response.addHeader("Access-Control-Allow-Methods","POST");
        // 响应头设置
        response.addHeader("Access-Control-Allow-Headers","x-requested-with,content-type");
        //响应内容支持中文
        response.setContentType("text/html;charset=utf-8");
}
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值