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
热门术语,所有人都希望 ......
load(url[,data][,callback])------------->通常用来从WEB服务器上获取静态的数据文件
url: string类型 请求HTML页面的URL地址
data(可选): object 发送至服务器的key/value数据
callback(可选):function 请求完成时回调函数
例子:
主页面代码:
<style type="text/css">
* { margin:0; padding ......
刚开始学Ajax,看到很多网上的代码都用Get方法提交参数,Tomcat默认ISO编码实在是让人头痛,对付乱码我都是用过滤器做字符编码过滤的,Get方法过滤器监听不到,所以我一直喜欢使用Post方法,下面对Ajax Get和Post方法做一对比
GET:
<mce:script type="text/javascript"><!--
var xmlHttpRequest;
......
//ajax 获取数据
//脚本
var showResp=0;
function GetXmlHttpObject(handler)
{
var objXmlHttp = null;
if (document.all)//!window.XMLHttpRequest
{
// 创建IE中的XMLHttpRequest对象“XMLHTTP”
var clsids = ["Msxml2.XMLHTTP.6.0","Msxml2.XMLHTTP.5.0","Msxml2.XMLHTTP.4.0","Msxml2.XMLHTTP. ......
前台:
<html>
<head>
<title>Ajax实现无刷新三联动下拉框</title>
<SCRIPT language="javascript">
......