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
相关文档:
今天抄了段书上小代码,代码如下
<html>
<head>
<script type="text/javascript" src="zxml.src.js"></script>
<script type="text/javascript">
function start() {
var oXmlHttp = zXmlHttp.createRequest();
oXmlHttp.open("get", "info11.txt", true);
oXmlHttp.onreadystatecha ......
以前提交表单的方法是submit,但是这样的话无法使用Ajax,一提交就意味着需要刷新页面。另一种方法是在url上面加上parameter来发送表单,但是这样会暴露发送的内容。但是如果用Ajax发送表单的话就能避免上面两种问题。
但是我之前自己写的时候,总是提交的是null值,运 ......
打开请求
有了要连接的 URL 后就可以配置请求了。可以用 XMLHttpRequest 对象的 open() 方法来完成。该方法有五个参数:
request-type:发送请求的类型。典型的值是 GET 或 POST,但也可以发送 HEAD 请求。
url:要连接的 URL。
asynch:如果希望使用异步连接则为 true,否则为 false。该参数是可选的,默认为 true。
......
用过Wordpress的朋友都知道,因为Wordpress的开放性,可以装很多插件,并且
各种主题也是良莠不齐,很多做主题的人本身可能是设计人员,对于SEO和速度考虑本身不太多,所以造成Wordpress非常庞大,有时候首页要到
500k至1M这样的水平。根据现在国内网速,一般都是以512k或者1M,那么以首页500K来看,全速下载需要10秒左 ......
在做ajax加载页面时遇到了一个问题,写在被加载页面head里的style标记似乎总是无效。意识到现在是在ie中,于是我转向ff中调试,结果在ff中是有效的。这真是奇怪了,难道ff和ie在加载页面时真会有不同的处理方式吗?这种不同在什么地方呢?
我设法查看ff和ie中加载到浏览器的源代码,(用的alert(document.getElementById(' ......