Ajax技术详解二
ajax中XMLHttpRequest参数详解 收藏
XJAX ,并不是一种新[url=javascript:;]技术[/url]的诞生.它实际上代表的是几项技术按一定的方式组合在一在同共的协作中发挥各自的作用.
它包括:
使用XHTML和[url=javascript:;]CSS[/url]标准化呈现;
使用DOM实现动态显示和交互;
使用[url=javascript:;]XML[/url]和XSLT进行数据交换与处理;
使用XMLHttpRequest进行异步数据读取;
最后用JavaScript绑定和处理所有数据。
在这里我只向谈点XMLHttpRequest对象:
在上面看到,使用XMLHttpRequest进行异步数据读取;
首先,我们要创建该[url=javascript:;]对象[/url],针对不同的浏览器,该对象的创建[url=javascript:;]方法[/url]是有区别.
[url=javascript:;]Internet[/url] Explorer以ActiveX对象引入,被称为XMLHTTP.
对于Internet Explorer浏览器,创建XMLHttpRequest 方法如下:
xmlhttp_request = new ActiveXObject("Msxml2.XMLHTTP.3.0"); //3.0或4.0, 5.0
xmlhttp_request = new ActiveXObject("Msxml2.XMLHTTP");
xmlhttp_request = new ActiveXObject("Microsoft.XMLHTTP");
在不同Internet Explorer浏览器中XMLHTTP版本可能不一致,为了更好的兼容不同版本的Internet Explorer浏览器,因此我们需要根据不同版本的Internet Explorer浏览器来创建XMLHttpRequest类,上面[url=javascript:;]代码[/url]就是根据不同的Internet Explorer浏览器创建XMLHttpRequest类的方法。
对于Mozilla?Netscape?Safari等浏览器,创建XMLHttpRequest 方法如下:
xmlhttp_request = new XMLHttpRequest();
如果服务器的响应没有XML mime-type header,某些Mozilla浏览器可能无法正常[url=javascript:;]工作[/url]。 为了解决这个问题,如果服务器响应的header不是text/xml,可以调用其它方法修改该header。
xmlhttp_request = new XMLHttpRequest();
xmlhttp_request.overrideMimeType('text/xml');
在实际应用中,为了兼容多种不同版本的浏览器,一般将创建XMLHttpRequest类的方法写成如下形式:
try{
if( window.ActiveXObject ){
for( var i = 5; i; i-- ){
try{
if( i == 2 ){
xmlhttp_request = new ActiveXObject( "Microsoft.XMLHTTP" );
}else{
xmlhttp_request = new ActiveXObject( "Msxml2.XMLHTTP." + i + ".0" );
}
xmlhttp_request.setRequestHeader
相关文档:
有很久一段时间我的BLOG上没有出现AJAX相关讯息了,主要当然是因为绝大部分的重心都放到了Silverlight身上(可预期的未来应该也会是如此)。
但由于工作上的需要,最近还是回头看了一下即将推出的ASP.NET Ajax Library...,顺便找了一下网络上的讯息,看这个态势我猜想应该不少ASP.NET开发人员忽略掉了这个其实已经bet ......
# app\controllers\examples_controller.rb
ruby 代码
class ExamplesController < ApplicationController
def ajax_select
@items = %w{AA BB}
end   ......
// 传过去一个简单值,获取一个简单值
$.ajax({
type: "GET",
url: '<%= Url.Action("xx", "Corp") % ......
Private static readonly object ReflectionLock = new object();
Lock (ReflectionLock)
{
Type scriptManagerType =
Type.GetType(
"System.Web.UI.ScriptManager, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35",
false);
......