`
xss23
  • 浏览: 99188 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

AJAX overrideMimeType

阅读更多

 

//用户名校验的方法
//这个方法将使用XMLHTTPRequest对象来进行AJAX的异步数据交互
var xmlhttp;
function verify() {
    //0。使用dom的方式获取文本框中的值
    //document.getElementById("userName")是dom中获取元素节点的一种方法,一个元素节点对应HTML页面中的一个标签,如果<input>
    //。value可以获取一个元素节点的value属性值
    var userName = document.getElementById("userName").value;

    //1.创建XMLHttpRequest对象
    //这是XMLHttpReuquest对象无部使用中最复杂的一步
    //需要针对IE和其他类型的浏览器建立这个对象的不同方式写不同的代码

    if (window.XMLHttpRequest) {
        //针对FireFox,Mozillar,Opera,Safari,IE7,IE8
        xmlhttp = new XMLHttpRequest();
        //针对某些特定版本的mozillar浏览器的BUG进行修正
        if (xmlhttp.overrideMimeType) {
            xmlhttp.overrideMimeType("text/xml");
        }
    } else if (window.ActiveXObject) {
         //针对IE6,IE5.5,IE5
        //两个可以用于创建XMLHTTPRequest对象的控件名称,保存在一个js的数组中
        //排在前面的版本较新
        var activexName = ["MSXML2.XMLHTTP","Microsoft.XMLHTTP"];
        for (var i = 0; i < activexName.length; i++) {
            try{
                //取出一个控件名进行创建,如果创建成功就终止循环
                //如果创建失败,回抛出异常,然后可以继续循环,继续尝试创建
                xmlhttp = new ActiveXObject(activexName[i]);
                break;
            } catch(e){
            }
        }
    }
    //确认XMLHTtpRequest对象创建成功
    if (!xmlhttp) {
        alert("XMLHttpRequest对象创建失败!!");
        return;
    } else {
        alert(xmlhttp.readyState);
    }

    //2.注册回调函数
    //注册回调函数时,之需要函数名,不要加括号
    //我们需要将函数名注册,如果加上括号,就会把函数的返回值注册上,这是错误的
    xmlhttp.onreadystatechange = callback;

    //3。设置连接信息
    //第一个参数表示http的请求方式,支持所有http的请求方式,主要使用get和post
    //第二个参数表示请求的url地址,get方式请求的参数也在url中
    //第三个参数表示采用异步还是同步方式交互,true表示异步
    xmlhttp.open("GET","AJAXServer?name="+ userName,true);

    //POST方式请求的代码
    //xmlhttp.open("POST","AJAXServer",true);
    //POST方式需要自己设置http的请求头
    //xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    //POST方式发送数据
    //xmlhttp.send("name=" + userName);

    //4.发送数据,开始和服务器端进行交互
    //同步方式下,send这句话会在服务器段数据回来后才执行完
    //异步方式下,send这句话会立即完成执行
    xmlhttp.send(null);
}

//回调函数
function callback() {
    //alert(xmlhttp.readyState);
    //5。接收响应数据
    //判断对象的状态是交互完成
    if (xmlhttp.readyState == 4) {
        //判断http的交互是否成功
        if (xmlhttp.status == 200) {
            //获取服务漆器端返回的数据
            //获取服务器段输出的纯文本数据
            var responseText = xmlhttp.responseText;
            //将数据显示在页面上
            //通过dom的方式找到div标签所对应的元素节点
            var divNode = document.getElementById("result");
            //设置元素节点中的html内容
            divNode.innerHTML = responseText;
        } else {
            alert("出错了!!!");
        }
    }
}


 
分享到:
评论
1 楼 vera_sq 2011-06-29  
补充一下xmlhttp.overrideMimeType这个bug指的是:如果来自服务器的响应没有 XML mime-type 头部,则一些版本的 Mozilla 浏览器不能正常运行。

对于这种情况,httpRequest.overrideMimeType('text/xml'); 语句将覆盖发送给服务器的头部,强制 text/xml 作为 mime-type。

相关推荐

    ajax定义以及如何用ajax

    创建对象后,可以通过`overrideMimeType()`方法修正某些浏览器的默认MIME类型,如设定为"text/xml"。 接下来,利用创建好的XMLHttpRequest对象发送请求给服务器。这通常通过`open()`方法实现,它接受三个参数:请求...

    Ajax介绍,为什么用ajax

    ### Ajax详解:异步JavaScript与XML的革命 #### 引言 Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。这一技术自诞生以来,极大地提升了用户交互体验,...

    Ajax最简单例子Demo

    Ajax最简单例子,一个例子让你明白Ajax原理,XMLHttpRequest原理 var http_request = false; function createRequest(url) { http_request = false; if (window.XMLHttpRequest) { // Mozilla浏览器 ...

    各种版本ajax使用方法及相关问题

    xhr.overrideMimeType('text/plain; charset=UTF-8'); ``` 或者,在jQuery中: ```javascript $.ajaxSetup({ contentType: 'application/json; charset=utf-8' }); ``` 此外,跨域、缓存、安全、状态管理等问题也...

    Ajax常见面试题Ajax常见面试题

    ### Ajax常见面试题详解 #### 1. AJAX应用与传统Web应用有何不同? 在传统的JavaScript编程中,要获取服务器端数据库或文件上的信息,或发送客户端信息到服务器,通常需要建立一个HTML表单(form),并通过GET或...

    通过AJAX监控文件上传进度

    ### 通过 AJAX 监控文件上传进度 在 Web 开发中,文件上传是常见的功能之一。传统的文件上传机制是基于 HTTP 协议的表单提交,即用户通过 `&lt;input type="file"&gt;` 选择文件后,整个表单或文件被一次性发送到服务器。...

    非常好Ajax基础教程

    http_request.overrideMimeType('text/xml'); ``` ### 3. 处理服务器响应 接收到服务器响应后,需要定义一个JavaScript函数来处理这个响应。通过调用`onreadystatechange`事件,我们可以设置当请求状态改变时执行...

    Ajax定时刷新局部页面

    ### Ajax定时刷新局部页面知识点详解 #### 一、Ajax简介 Ajax(Asynchronous JavaScript and XML)是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新。这意味...

    ajax技术制作得在线歌词搜索功能

    ### AJAX技术制作的在线歌词搜索功能 #### 一、引言 随着互联网技术的发展,用户对网站交互体验的要求越来越高。传统的网页操作模式在用户提交表单后需要重新加载整个页面,这种方式不仅耗时较长,而且用户体验较差...

    在jsp中运用ajax(简单入门)

    ### 在JSP中运用AJAX(简单入门) 随着互联网技术的发展与用户对交互体验要求的提高,AJAX技术因其能够实现网页的异步更新而受到广泛欢迎。本篇文章将通过一个具体的示例来介绍如何在JSP页面中使用AJAX进行简单的...

    用AJAX编写一个简单的相册

    ### 使用AJAX实现简单相册的关键技术点 #### 一、AJAX简介 AJAX(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。通过在后台与服务器进行少量数据交换,AJAX ...

    Ajax无刷新实现步骤

    ### Ajax无刷新实现步骤 #### 一、简介 Ajax(Asynchronous JavaScript and XML)是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新,这意味着可以在不重新...

    最新ajax常用的函数大全

    AJAX(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使网页实现异步更新。在本篇文章中,我们将深入探讨一些常用的AJAX...

    web2.0 AJAX技术.doc

    标题和描述中提到的“Web2.0 AJAX技术”是一个重要的技术话题,特别是在现代网络开发领域。Web2.0标志着互联网从静态网页向动态、互动性强的网站转变的时代,而AJAX(Asynchronous JavaScript and XML)则是实现这一...

    JavaScript 之Ajax详解

    **Ajax 概述** Ajax(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下,能够更新部分网页的技术。这项技术的出现极大地提升了Web应用程序的用户体验,因为它允许后台与服务器进行数据交换,而...

    ajax省市联动

    ### AJAX 省市联动知识点解析 #### 一、引言 在现代Web开发中,用户体验至关重要。Ajax(Asynchronous JavaScript and XML)技术允许网页在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页内容,从而...

    AJAX基础教程.doc

    ### AJAX基础教程精讲 #### 一、理解AJAX:异步JavaScript与XML的结合 AJAX(Asynchronous JavaScript and XML)是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,AJAX可以使网页实现异步...

    Ajax深度剖析,XMLHttpRequest对象大揭秘

    除了`open()`和`send()`,XMLHttpRequest对象还有许多其他方法,如`abort()`用于取消请求,`setRequestHeader()`用于设置HTTP头部信息,以及`overrideMimeType()`用于覆盖响应的MIME类型。 在实际应用中,Ajax广泛...

    AJax教程举一反三叫你学ajax

    对于非XML类型的响应,如JSON,可以通过`overrideMimeType()`方法更改MIME类型,以确保正确解析。 总之,AJAX通过XMLHttpRequest对象实现了页面的异步更新,提供了更流畅、无刷新的用户体验。它在现代Web应用中扮演...

Global site tag (gtag.js) - Google Analytics