ajax异步请求操作
需要jquery支持:
<script src="<%=basePath%>dist/js/jquery.min.js"></script>
<script src="<%=basePath%>dist/js/jquery.dataTables.min.js"></script>
基础代码操作
- 按钮点击跳转js
- js中书写ajax代码通过struts2.xml请求java后端的方法
- 后端返回json类型的数据
- ajax代码获取返回的数据输出到前端
<script type="text/javascript">
//编辑弹出框,跳转action:sjxxupdatein,传值sjbh事件代码
function trans() {
$.ajax({
url : "trans",
type : "get",
async : true,
data : {
tgt : document.getElementById("tgt").value,
src : document.getElementById("src").value,
source : document.getElementById("source").value,
},
dataType : "json",
success : function(data) {
msg = $.parseJSON(data.message);
$("#target").val(msg);
},
error : function(err) {
if (err.status >= 400 && err.status < 500) {
alert("翻译失败");
} else {
alert("翻译失败");
//返回ajax请求失败的值 如(404 not find) 让用户知道是请求报错了
}
}
});
}
</script>
ajax返回不了success,执行不了success,可能是dataType格式的问题
当ajax的**dataType:“json”**时
struts2中需要这样写才能返回success
<result name="success" type="json">
<param name="true">result</param>
</result>
$.ajax({
url:"sjzladdAction", //跳转action:
type:"post",
data: {
"sjbh":sjbh
},
dataType:"json",
success:function(data){
//加载刷新页面并关闭弹窗
var index2 = parent.layer.getFrameIndex(window.name);
parent.layer.close(index2);
},
error:function(xhr){
}
});