Jquery跨域進行Ajax操作
後臺:
//jquery只能通過get方式傳遞數據
//根據html指定的jsonp回調函數的參數名,獲取回調函數的名稱
//callbackName的值其實就是:jsonpCallback
String callbackName = (String)request.getParameter("jsoncallback");
//簡單模擬一個json字符串,實際可使用google的gson進行轉換,次數通過字符串拼接
//{"name":"張三","age":28}
//\是對"號進行轉義
String jsonStr = "{\"name\":\"張三\",\"age\":28}";
//最終返回的數據爲:successjsonpCallback ({"name":"張三","age":28})
System.out.println("CallBackFunctionName"+callbackName);
String renderStr = callbackName+"("+jsonStr+")";
response.setContentType("text/plain;charset=UTF-8");
response.getWriter().write(renderStr);
前臺:
$.ajax( {
type : "get", //jquey是不支持post方式跨域的
async : false,
url : "http://localhost:8080/Reg/servlet/RegisterUser", //跨域請求的URL
dataType : "jsonp",
//傳遞給請求處理程序,用以獲得jsonp回調函數名的參數名(默認爲:callback)
jsonp : "jsoncallback",
//自定義的jsonp回調函數名稱,默認爲jQuery自動生成的隨機函數名
jsonpCallback : "successjsonpCallback",
//成功獲取跨域服務器上的json數據後,會動態執行這個callback函數
success : function(json) {
$("#name").html(json.name);
$("#age").html(json.age);
}
});
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.