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);
   }
  });
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章