1. 程式人生 > >ajax跨域請求簡單實現Java後臺

ajax跨域請求簡單實現Java後臺

因為官網有一個合作加盟的功能,需要一個表單錄入,但是官網除了這個功能,都是靜態頁面,所以就準備寫一個ajax跨域,儲存到之前公司專案的後臺管理系統去,第一次用ajax跨域,網上很多參考。這也是我的第一篇博文,準備以後養成這個習慣,以備後期參考。。。。。

通過自己N久找程式碼的經驗,自我覺得大多數人應該不喜歡理論太多的文章,所以閒話不多說了,直接上程式碼

首先前端構造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");  
                }
            });
        }
上面程式碼就是前端的ajax程式碼了,當然,怎麼呼叫我就不多說,,,,

接下來看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跨域就實現了,親測有用的。本人也是初次嘗試,知道肯定這也只是基礎的,還望大神勿噴!