JS 实现 Ajax 异步请求的浏览器兼容性与代码示例
作者:拾光时间:2026-10-21 20:49:41浏览:126
本文介绍了在 JavaScript 中实现 Ajax 异步请求时如何处理浏览器兼容性问题。通过封装创建异步对象的方法,结合 DOM 操作与事件监听,展示了如何在不同浏览器环境下稳定发起异步数据请求,并提供了具体的代码实现参考。
JavaScript Ajax 异步请求兼容实现
以下直接展示实现 Ajax 异步请求并解决浏览器兼容问题的核心代码。
<td>
<input type="button" value="订单详情"
id="but<s:property value="#o.oid"/>"
onclick="showDetail(<s:property value="#o.oid"/>)"/>
<div id="div<s:property value="#o.oid"/>"></div>
</td>
<script type="text/javascript">
function showDetail(oid){
var but = document.getElementById("but"+oid);
var div1 = document.getElementById("div"+oid);
if(but.value == "订单详情"){
// 1.创建异步对象
var xhr = createXmlHttp();
// 2.设置监听
xhr.onreadystatechange = function(){
if(xhr.readyState == 4){
if(xhr.status == 200){
div1.innerHTML = xhr.responseText;
}}
}
// 3.打开连接
xhr.open("GET",
"${pageContext.request.contextPath}/
adminOrder_findOrderItem.action?oid="+oid+"&time=
"+new Date().getTime(),true);
// 4.发送
xhr.send(null);
but.value = "关闭";
}else{
div1.innerHTML = "";
but.value="订单详情";
}
}
function createXmlHttp(){
var xmlHttp;
try{ // Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e){
try{// Internet Explorer
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e){
try{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e){}
}
}
return xmlHttp;
}
</script>
// 根据订单的id查询订单项:
public String findOrderItem(){
// 根据订单id查询订单项:
List<OrderItem> list = orderService.findOrderItem(order.getOid());
// 显示到页面:
ActionContext.getContext().getValueStack().set("list", list);
// 页面跳转
return "findOrderItem";
}
<table width="100%">
<s:iterator var="orderItem" value="list">
<tr>
<td><img width="40" height="45" src="${ pageContext.request.contextPath }/<s:property value="#orderItem.product.image"/>"></td>
<td><s:property value="#orderItem.product.pname"/></td>
<td><s:property value="#orderItem.count"/></td>
<td><s:property value="#orderItem.subtotal"/></td>
</tr>
</s:iterator>
</table>
上述内容介绍了利用 JavaScript 处理 Ajax 异步请求时的浏览器兼容性问题,旨在为开发者提供实用的参考。若在使用过程中遇到任何疑问,欢迎随时留言,小编将尽快回复。同时,非常感谢各位对本站的支持与关注。
作者最新文章
JS处理含Emoji或中文的字符串转数组乱码问题
2026-11-05 16:12:28
JS怎么使用展开运算符合并对象
2026-11-05 14:42:18
ES6+环境下判断JS对象为空的简洁写法
2026-11-05 12:12:23
怎么通过replacer函数自定义JS中JSON的格式化输出
2026-11-05 11:19:44
JS正则表达式基础:字面量与RegExp构造函数的区别及常用元字符
2026-11-05 11:16:58
