为什么 ajax 没有部分刷新我的页面
Why the ajax didn't partly refresh my page?
我正在使用带有javascript的ajax来执行取消或发布操作。当我单击取消链接时,此页面没有变化,我需要刷新整个页面才能看到更改的状态。单击船舶链接时没有任何反应,甚至刷新整个页面。我的 jsp 和控制器代码如下所示:
.JSP:
<script>
var xmlHttp;
xmlHttp = GetXmlHttpObject();
function GetXmlHttpObject()
{
var xmlHttp = null;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp = new XMLHttpRequest();
} catch (e)
{
// Internet Explorer
try
{
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e)
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
function cancelOrder(orderId, rowID){
if (xmlHttp == null)
{
alert("Your browser does not support AJAX!");
return;
}
var query = "action=cancel&order=" + orderId;
/* alert(orderId); */
xmlHttp.onreadystatechange = function stateChanged()
{
if (xmlHttp.readyState == 4)
{
var status = document.getElementById(rowID);
alert(status.innerHTML);
status.innerHTML = "Canceled";
}
};
xmlHttp.open("GET", "manageUserAccount.htm?"+query, true);
/* xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); */
xmlHttp.send(null);
return false;
/* var row = document.getElementById(rowID);
row.parentNode.removeChild(row); */
}
function shipOrder(orderId, rowID){
if (xmlHttp == null)
{
alert("Your browser does not support AJAX!");
return;
}
var query = "action=ship&order=" + orderId;
/* alert(orderId); */
xmlHttp.onreadystatechange = function stateChanged()
{
if (xmlHttp.readyState == 4 && xmlhttp.status==200)
{
var status = document.getElementById(rowID);
alert(status.innerHTML);
status.innerHTML = "Canceled";
}
};
xmlHttp.open("GET", "manageUserAccount.htm?"+query, true);
/* xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); */
xmlHttp.send(null);
return false;
/* var row = document.getElementById(rowID);
row.parentNode.removeChild(row); */
}
</script>
<c:forEach var="order" items="${user.orders}" varStatus="vs">
<tr>
<td>${order.id}</td>
<td>${order.createDate}</td>
<td>${order.status}</td>
<td><a href="manageUserAccount.htm?action=viewDetails&orderId=${order.id}">View Details</a></td>
<td><a onclick = "shipOrder(${order.id}, ${vs.index})">Ship the order</a><br><a onclick = "cancelOrder(${order.id}, ${vs.index})">Cancel the order</a></td>
</tr>
</c:forEach>
控制器:
if(action.equals("cancel")){
OrderDAO orderDao = new OrderDAO();
System.out.println(request.getParameter("order"));
Long orderId = Long.parseLong(request.getParameter("order"));
Order order = orderDao.get(orderId);
order.setStatus("Canceled");
orderDao.save(order);
JSONObject obj = new JSONObject();
obj.put("cancel", "Canceled");
}
if(action.equals("ship")){
OrderDAO orderDao = new OrderDAO();
System.out.println(request.getParameter("ship"));
Long orderId = Long.parseLong(request.getParameter("ship"));
Order order = orderDao.get(orderId);
order.setStatus("Shipped");
orderDao.save(order);
JSONObject obj = new JSONObject();
obj.put("ship", "Shipped");
}
谁能帮我解决这个问题?谢谢!!
嗯,为了检查我总是使用的响应:
if (xmlhttp.readyState==4 && xmlhttp.status==200)
也许您的回复状态不正确?
相关文章:
- 如何检查Json文件更新,如果更新了,则用更新的数据刷新我的页面
- 如何刷新我的ng重复
- 为什么 ajax 没有部分刷新我的页面
- 如何使用javascript刷新我的html页面时清除按钮单击
- 如果在一段时间不活动后4秒内开始加载,如何刷新我的网站
- 如果我滚动并刷新我的网页,我的导航标题会失去其属性.JQuery
- 如何自动刷新我的 php 聊天脚本
- 请问为什么这段代码在 onclick 事件后刷新我的页面
- 如何在编辑CSS时自动刷新我的网站
- 如何基于另一个下拉列表刷新我的下拉列表
- 如果人们想重用输入字段,我需要帮助他们刷新我的网站.||JavaScript
- ASP.net __doPostBack是刷新我的Javascript
- 我的表单持有数据,即使我没有点击提交按钮.但如果我在刷新我的表单,那就没问题了
- 当我不断刷新我的angularJS页面时,内容有时显示,有时不显示
- 如何刷新我的项目列表在winapp当我插入一个新的数据在sqlite (javascript &html)
- 如何要求浏览器刷新(刷新)我的网站的缓存
- 提交表单没有使用ajax刷新页面,仍然刷新我的页面
- 用Handlebars.js刷新我的列表
- Handlebar.js没有刷新我的模板
- 如何以ajax方式在INSERT后刷新我的服务器控件