jsonp 跨域

適用場景:跨域傳值


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

相關文章
相關標籤/搜索