ajax 跨域前后端解决方法

6 篇文章 0 订阅
3 篇文章 0 订阅

前言:公司有个需求,就是把别的系统的页面嵌入我们系统中,但是嵌入的那个页面则需要ajax去获取数据,渲染出来;当你把别的系统的页面嵌入了你的系统中,这时再去点击页面连接执行ajax请求时你会发现F12会抛出一段异常,会告诉你,此请求存在跨域问题
这时我们则需要在ajax中加入jsonp代码如下:
$.ajax(function(){ url:"xxxxxxxx",//请求地址 data:{"xxxx":""},//请求携带的数据 dataType:"jsonp",//跨域设置 jsonp:"callback", success:function(data){ console.log(data) } });
按照上方ajax请求代码你会发现前端控制台还是会给你抛出一个警告Cross-Origin Read Blocking (CORB) blocked cross-origin response…
但是你会发现NetWork请求status是200 但是请求中的Response没有返回任何数据,这是你则需要去修改你的接口,代码如下:

	//设置相应数据编码格式
    response.setCharacterEncoding("UTF-8");
    //相应数据格式,如果设置了这个格式不正确还是请求不了数据就试试 json或者html这几种格式(因为我这个接口图方便是在页面中)
    response.setContentType("text/javascript");
    //得到ajax jsonp属性设置的callback
    String callback = request.getParameter("callback");
     //写入相应数据中,这里需要把ajax传入的callback带上拼接成如下格式 jsonObject 是你的json格式数据
    response.getWriter().write(callback+"("+jsonObject+")");
   
    

做完以上操作你会发现就代码又行了,就像喝了功能性饮料一样,它又行了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值