ajax的跨域问题解决一:利用jsonp解决

关于jsonp的一些原理,大家可以百度

下面贴出一个我找到的jsonp详解传送门


关于jsonp的用法:

$.ajax({
           type : "get",
            url : url,
           data : {detailMddm:detailMddm},
           dataType : "jsonp",
           jsonp:'mycallback',
           jsonpCallback:'callbackFun',
           success:function(data) {
               //得到数据后,要插入到第三个明细表
               console.log(data);

           }
        });

以上是前台发送ajax的案例,下面开始解释意义:

1.类型只能为get,这是jsonp的弊端

2.url,目标地址,主要是处理跨域地址

3.data,传输数据

4.dataType,数据类型,我们用jsonp

5.jsonp,就是callback的名称

6.jsonpCallback,是callback的属性值,后台需要获取包装

 

以下为后台页面:

@ResponseBody
    @RequestMapping("getMdxq")
    public String getMdxq(String detailMddm,HttpServletRequest request,HttpServletResponse response){
        //获得callback
        String callbackfun  = request.getParameter("mycallback");
        System.out.println(callbackfun );
        //根据门店编号去查询相关字段
        List<Mdxq> mdList = mainDataService.getMdxq(detailMddm);
        //获取品牌名称,根据申请品牌的编号
        for (Mdxq mdxq : mdList) {
            String sqppNum = mdxq.getSqpp();         //是申请品牌的编号
            String sqpp = mainDataService.getSqpp(sqppNum);
            mdxq.setSqpp(sqpp);
        }
        //全部包装好后,转为json,然后拼接callback
        Object obj = JSON.toJSON(mdList);
        callbackfun  +=  "(" + obj + ")";
        return callbackfun ;

    }

我是用的springboot,案例如上,前台可以打印出list值

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值