ajax跨域請求簡單實現Java後臺
阿新 • • 發佈:2019-01-06
因為官網有一個合作加盟的功能,需要一個表單錄入,但是官網除了這個功能,都是靜態頁面,所以就準備寫一個ajax跨域,儲存到之前公司專案的後臺管理系統去,第一次用ajax跨域,網上很多參考。這也是我的第一篇博文,準備以後養成這個習慣,以備後期參考。。。。。
通過自己N久找程式碼的經驗,自我覺得大多數人應該不喜歡理論太多的文章,所以閒話不多說了,直接上程式碼
首先前端構造ajax請求:
上面程式碼就是前端的ajax程式碼了,當然,怎麼呼叫我就不多說,,,,function ajaxTest(){ $.ajax({ type:"get", async:false, url:"http://www.xxxx.com/test.do", dataType:"jsonp", //傳遞給請求處理程式,用以獲得jsonp回撥函式名的引數名(預設為:callback) jsonp:"jsoncallback", //自定義的jsonp回撥函式名稱,預設為jQuery自動生成的隨機函式名 jsonpCallback:"jsonpCallback_success", //成功獲取跨域伺服器上的json資料後,會動態執行這個callback函式 success:function(data){ alert(data.name); }, error : function() { alert("fail"); } }); }
接下來看Java程式碼
public void test(HttpServletRequest request,HttpServletResponse response){ try { //根據html指定的jsonp回撥函式的引數名,獲取回撥函式的名稱 String callbackName=(String)request.getParameter("jsoncallback"); //callbackName的值其實就是:jsonpCallback_success System.out.println("---------"+callbackName); String result="{\"name\":\"張三\",\"age\":28}"; //最終返回的資料為 String renderStr=callbackName+"("+result+")"; response.setContentType("text/plain;charset=UTF-8"); response.getWriter().write(renderStr); } catch (IOException e) { e.printStackTrace(); } }
好了,簡單的ajax跨域就實現了,親測有用的。本人也是初次嘗試,知道肯定這也只是基礎的,還望大神勿噴!