通过ajax 传入对应数据的id 查询数据,但是返回的数据并不能通过点击实时刷新
每次都需要手动刷新两次 数据才能对应.
<s:form method="post" action="TeacherActionUpdate" id="update" enctype="multipart/form-data">
<div id="lights" class="white_contents" style="text-align: center;overflow-x:visible;">
<table width='100%' cellpadding='0' cellspacing='0' style="text-align: center;position:absolute;left:55px;">
<h3>修改教师信息</h3>
<br/>
<tr class="divcss5-b">
<td width="12.5%" style="text-align: right;">姓名 </td>
<td style="text-align:left;">
<s:textfield name="tc.name" style="width:181px;height:28px;" cssClass="v_null" placeholder="请输入教师名称"/>
</td>
</tr>
<tr class="divcss5-b">
<td width="12.5%" style="text-align: right;">性别 </td>
<td style="text-align:left;">
<select name="tc.sex" style="width:181px;height:28px;">
<option>男</option>
<option>女</option>
</select>
</td>
</tr>
<tr class="divcss5-b">
<td width="12.5%" style="text-align: right;">手机号 </td>
<td width="12.5%" style="text-align:left;">
<s:textfield name="tc.phone" style="width:181px;height:28px;" cssClass="v_tel" placeholder="请输入11位手机号"/>
</td>
</tr>
</table>
<div style="position:absolute;top:630px;left:150px">
<a class="button button-khaki tijiaos">
<span>保存</span>
</a>
<a href="javascript:void(0)" onclick="document.getElementById('lights').style.display='none';" class="button button-khaki">
<span>关闭</span>
</a>
</div>
</div>
</s:form>
<script>
$(function(){
$(".teacherupdate").click(function(){
var id=$(this).text();
alert(id);
document.getElementById('lights').style.display='block';
$.ajax({
url : "TeacherActionFindBy.action",
cache:true,
type : "POST",
data:{'id':id},
async: false,
success: function(result){
alert(1);
}
});
return false;
});
});
</script>
ajax里的cache,true的话会读缓存,可能真的到服务器上。
假如上次访问了a.html,第二次的时候得到的是上次访问的a.html的结果,而不是重新到服务器获取。
false的话会在url后面加一个时间缀,让它跑到服务器获取结果。
cache只有GET方式的时候有效
url : "TeacherActionFindBy.action?t="+ new Date().getTime(),
将请求接口后面加上时间戳,清除缓存试试,还有
按照楼上的办法,另外:**cache:true,**,你想实时刷新,这个还是设置false吧。
cache:true,去掉
ajax还有一个error参数用来处理错误:
ajax中加上这几句:
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert(XMLHttpRequest.status);
alert(XMLHttpRequest.readyState);
alert(textStatus);
}
然后运行看有什么问题,因为,async: false,所以因该不是异步的问题
可以尝试把点击方法放在$(function(){})外面