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 跨域的主要内容,如果未能解决你的问题,请参考以下文章