jquery+ajax+struts實現非同步重新整理
阿新 • • 發佈:2019-01-24
1. 由於 非同步刷新技術這麼火,所以 探究玩一下;
在 jquery 中 有專門為 ajax 而設的 方法和
首先就是 匯入 struts的jar包+json.js+jq.js+struts-plugin-json.jar
2. 頁面 初始化就開始載入異 步的資料 $(function(){ ajax程式碼 })
1.JSON.stringify ========= object----jsonstring
<script type="text/javascript" src="lib/json2.js"></script> <script type="text/javascript"> $(function(){ $.ajax({ type: "GET", url: "useract_loadPremission.action", dataType: "json", success: function(data){ // alert(JSON.stringify(data)); var dt = data.tps;//所有的許可權 可以直接用 dt[i].id 遍歷,因為 是 struts直接 轉換成了 json物件 }, error:function(data){ alert(JSON.stringify(data)); // } }); }); </script>
2. struts ----struts中 就是 必須要加 json-default
<package name="onlinedef" namespace="/" extends="struts-default,json-default"> <action name="useract_*" method="{1}" class="userAction"> <result name="toindex">/index.jsp</result> <result name="tomain">/WEB-INF/view/main.jsp</result> <result name="ajax" type="json"> <param name="includeProperties"> <span style="white-space:pre"> </span>tps \ [\ d+\ ]\.preId, <span style="white-space:pre"> </span>tps \ [\ d+ \]\.preName, <span style="white-space:pre"> </span>tps \ [\ d+ \ ]\.preUrl, <span style="white-space:pre"> </span>tps \ [ \ d+ \ ]\.preParentId, <span style="white-space:pre"> </span></param> </result> </action> </package>
3. action中有很多的資料, 必須防止 json把所有的 資料都轉化了
private user tps;---get方法
public String loadPremission() {
tps = userService.findPremissionByUser(CommonUtils.getSessionUser(
getRequest()).getUserId());
return "ajax"; ----
struts中宣告是 type=json
} -------- json取出來 var ss= data.tps;
6.如果 是 提交 表單的資料
$.ajax({
cache:
true
,
type:
"POST"
,
url:ajaxCallUrl,
data:$(
'#yourformid'
).serialize(),
// 你的formid
async:
false
,
error:
function
(request) {
alert(
"Connection error"
);
},
success:
function
(data) {
$(
"#commonLayout_appcreshi"
).parent().html(data);
}
});