ajax跨域问题之Jsonp解决

ajax跨域问题之Jsonp解决

想必搜到这里的朋友已经对自己的问题有所了解了;不过还是不知道怎么搭建,所以我就直接奉上代码截图了;
1.前端代码

$.ajax({
     url: crisUrl+"/tbdicinfocfg/dicc",
      type: "GET",
      dataType: "jsonp", //指定服务器返回的数据类型
      jsonpCallback: "showData",  // 指定回调函数名称或直接使用回掉函数success
      jsonp: "callback",   // 默认callback
      success: function (data) {
      	
      },
   error: function(){
       alert('fail');
   }
  });
function showData(data) {
	console.log(data);
}

2.后台代码

@RequestMapping(value = "/dicc")
public void loadData2(@RequestParam("callback") String callback,
                     HttpServletResponse response) throws IOException {
	
    Map<String, String> data = new HashMap();
    data.put("str","123");
    // 转json
    String jsonData = JSON.toJSONString(data);
 
    //用回调函数名称包裹返回数据
    String result = callback + "(" + jsonData + ")";
    response.getWriter().write(result);
}

以上就是完整代码:
有几点需要说明:
1.jsonp是异步的,所以如果你想要通过后台返回的数据来去给页面赋值的话,可以通过jsonp的回调函数实现,也就是上述前端代码的showData()方法;
2.其中遇到过很多问题,我本来想用cross在后台直接添加一句话来搞定,可是报错,就用了jsonp。不过这个按照我这样写肯定是可以的;
原文出处:https://blog.csdn.net/yjf737155133/article/details/80438490

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值