Jquery跨域 解决方案

如果是后端跨域解决方案,可以参考:
链接:

其实前端也是可以解决的

因为是ajax的请求,会受到同源策略的保护。

我们使用‘jsonp’来解决,它的原理是使用

参考代码:

$.ajax({
			type: "GET",
			url: "http://localhost:8801/test",
			jsonpCallback: "callback", //这里是回调方法
			cache: false,
			dataType: "jsonp", //把原来的json修改成jsonp即可
			success: function (response) {
				// alert("success")
				// response= $.parseJSON(response);
				// var json = $.parseJSON(response);
				// console.log(response.hello-1);
				$.each(response,function (a,b) {
				//这里面根据你的需求自己写即可
					if (a=='hello-2'){
						var zhi = b;
						console.log("ttt",zhi);
					}
					$("#demo").text(zhi);
				})

			}
		});

注意那个回调方法名要和后端接口里的名字一样:
参考代码:

Map map = new HashMap();
ObjectMapper mapper= new ObjectMapper();
map.put("hello-1", "success-1");
map.put("hello-2", "success-2");
map.put("hello-3", "success-3");
map.put("hello-4", "success-4");
return "callback("+ mapper.writeValueAsString(map)+")";

如上就可以请求到了,经过自己测试发现回调方法一定要写,不然会报CORB的错。
如果有可以不用写的也能正常访问,可以在评论里告知一下哈 ~ ~

就我个人感觉而言,还是在后端给CORS做点配置香一点,我最近看到可以在yml文件里直接配置,也可以使用注解的方式–@CrossOrigin,写在请求的controller里即可。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值