jsonp 跨域

Posted 小赵的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jsonp 跨域相关的知识,希望对你有一定的参考价值。

适用场景:跨域传值


ajax端:

 

 $.ajax({  

   url:"XXXXX",  

        dataType:‘jsonp‘,  

        data:‘‘,  

        jsonp:‘callbackparam‘,        jsonp定义的callback  ,会随机的向服务端发送一段数字 ‘Jquery.....‘    该字符串将作为返回值的函数名

        success:function(result) { 

      //do something

        }

    }); 

 

服务端(java):  



   /**
     * 方法描述:展示所有商品
     * 作   者:赵       鹏
     */
@GetMapping("showGoods") @ResponseBody public void showGoods(HttpServletResponse response, HttpServletRequest request) throws IOException { //设置字符格式 response.setHeader("Content-type", "text/html;charset=utf-8"); List<Grounding> grounding = groundingService.showGoods(); Gson gson = new Gson(); //也可以用   JSONObject /    JSONArray 或者 FastJson 等json工具 String json = gson.toJson(grounding); String parameter = request.getParameter("callbackparam"); //获得ajax传来的随机函数名 System.out.println(parameter); response.getWriter().print(parameter + "(" + json + ")"); //并拼接到返回值中 在使用小括号将json数据拼接起来

     //这样ajax端就会的到一个 我们自己 构造的一个 function 函数 最后在success中执行

}

 


   

 














以上是关于jsonp 跨域的主要内容,如果未能解决你的问题,请参考以下文章

jsonp 方式处理跨域前后端代码如何配合?

前端 - jsonp 跨域ajax

jsonp实现数据跨域请求

ajax之jsonp跨域请求

JS的jsonp是什么?5分钟学会jsonp跨域请求

JSONP