適用場景:跨域傳值 ajax端: $.ajax({ url:"XXXXX", dataType:'jsonp', data:{}, jsonp:'callbackparam', jsonp定義的callbackparam,會隨機的向服務端發送一段字符串 'Jquery.....' 該字符串將做爲返回值的函數名 success:function(result) { //do something } });
1 服務端(java): 2 /** 3 * 方法描述:展現全部商品 4 * 做 者:趙 鵬 5 */ 6 @GetMapping("showGoods") 7 @ResponseBody 8 public void showGoods(HttpServletResponse response, HttpServletRequest request) throws IOException { 9 10 //設置字符格式 11 response.setHeader("Content-type", "text/html;charset=utf-8"); 12 13 List<Grounding> grounding = groundingService.showGoods(); 14 15 Gson gson = new Gson(); //也能夠用 JSONObject / JSONArray 或者 FastJson 等json工具 16 17 String json = gson.toJson(grounding); 18 19 String parameter = request.getParameter("callbackparam"); //得到ajax傳來的隨機函數名 20 21 System.out.println(parameter); 22 23 response.getWriter().print(parameter + "(" + json + ")"); //並拼接到返回值中 在使用小括號將json數據拼接起來 24 25 //這樣ajax端就會的到一個 咱們本身 構造的一個 function 函數 最後在success中執行 26 27 28 }
跨域的另外一種解決思路:html
// 處理跨域請求
response.setHeader("Access-Control-Allow-Origin", "*");java