Ajax getJson跨域訪問

查詢了一下jquery的文檔,再看了一下網上的資料,自己試驗了一下,已經通過,代碼如下:

client js 代碼:

  1. <script type="text/javascript"> 
  2.     function test() { 
  3.     varurl = "http://yourip/your_dir/your_action.action?id=1&jsoncallback=?"
  4.         $.getJSON( 
  5.             url,  
  6.             function (Json) { 
  7.                 alert(Json.UserID); 
  8.                 alert(Json.UserName);  
  9.         });  
  10.     } 
  11. </script> 

server action 代碼:

 

  1. public void Test(){ 
  2.         HttpServletResponse Response = ServletActionContext.getResponse(); 
  3.         HttpServletRequest Request = ServletActionContext.getRequest(); 
  4.         String jsoncallback = Request.getParameter("jsoncallback"); 
  5.         String id = Request.getParameter("id"); 
  6.         System.out.println(id + " @ " + jsoncallback); 
  7.         if (jsoncallback != null)   
  8.         {   
  9.             jsoncallback= (jsoncallback +"({\"UserID\":\"1234567890\",\"UserName\":\"admin\"})");   
  10.        } 
  11.         try { 
  12.             PrintWriter out = Response.getWriter(); 
  13.             out.flush(); 
  14.             out.println(jsoncallback); 
  15.             out.close(); 
  16.         } catch (IOException e) { 
  17.             // TODO Auto-generated catch block 
  18.             e.printStackTrace(); 
  19.         } 
  20.     } 

注意點,url後的“&jsoncallback=?”是不可以改變的,用到這塊的可以試一下,有問題可以留言,以上代碼俺已經測試通過

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章