FireFox和IE 中 Ajax 同步执行
var Ajax = new Object;
Ajax.Sysch = function(url) {
var req;
var result = "";
//document .write ("hello")
if (window.XMLHttpRequest) {
//代码段1
// 非IE浏览器
req = new XMLHttpRequest();
//alert(req);
//req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
req.open("POST", url + "?" + escape(new Date()), false)
//alert("12345678");
req.send(null);
result = req.responseText;
}
else if (window.ActiveXObject)//或者 (typeof (ActiveXObject) != "#ff0000")
{//代码段2
// IE
req = new ActiveXObject("Microsoft.XMLHTTP");
//alert(req);
if (req) {
req.open("POST", url + "?" + escape(new Date()), false);
req.send();
}
result = req.responseText;
}
return result ;
};
function f() {
// document.write("helloddd")
var strUrl = "ajax.ashx";
alert (strUrl )
alert(Ajax.Sysch(strUrl));
}
html代码:
<input type="button" id="d" value="发送接收" onclick="f()"/>
处理页面ajax.ashx:
<%@ WebHandler Language="C#" Class="ajax" %>
using System;
using System.Web;
public class ajax : IHttpHandler {
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";
context.Response.Write("Hello World");
}
public bool IsReusable {
get {
return false;
}
}
}
不知道为什么在IE 7和IE 8里调用的js代码和FireFox调用的是一样的,都是调用的是代码段1
而只有IE6调用的是代码2
同步执行的代码返回的结果,都是一样的
真不明白是怎么回事??
郁闷中。。。
相关文档:
Asynchronous JavaScript + XML(Ajax)无疑是 2006 年最热门的技术术语,且有望在
2007 得到进一步发展。但是对您的应用程序来说它究竟有什么意义呢?Ajax 应用程序中哪一种常见架构模式应用最广泛呢?本文将介绍五种常见
Ajax 设计模式,可以使用它们作为工作的基础。
的确,Ajax
是 Web 2.0
热门术语,所有人都希望 ......
XMLHttpRequest 对象是AJAX功能的核心,要开发AJAX程序必须从了解XMLHttpRequest 对象开始。
了解XMLHttpRequest 对象就先从创建XMLHttpRequest 对象开始,在不同的浏览器中创建XMLHttpRequest 对象使用不同的方法:
先看看IE创建XMLHttpRequest 对象的方法(方法1):
var xmlhttp = new ActiveXObject(" ......
刚开始学Ajax,看到很多网上的代码都用Get方法提交参数,Tomcat默认ISO编码实在是让人头痛,对付乱码我都是用过滤器做字符编码过滤的,Get方法过滤器监听不到,所以我一直喜欢使用Post方法,下面对Ajax Get和Post方法做一对比
GET:
<mce:script type="text/javascript"><!--
var xmlHttpRequest;
......
刚调试程序的时候报错后然后找的解决方法,现在发出来大家借鉴。
-----------------------
错误提示:
运行时错误 800a01b6
对象不支持此属性或方法: Response.CharSet
---------------------------------------------------------------------
(百度一下,还有很多人遇到同样的错误)
Micros ......