首页 > 试题广场 >

XMLHttpRequest对象在调用send()前需要调用

[单选题]
XMLHttpRequest对象在调用send()前需要调用哪个方法?
  • prepare ()
  • open ()
  • init ()
  • build ()
Ajax技术核心就是XMLHttpRequest对象。
Ajax技术的工作原理:可以分成3步
1.创建Ajax对象:var xhr = new XMLHttpRequest();
2.xhr 发送请求:xhr.open('get','test.html','true');
                          xhr.send();
3.xhr获取响应:
                          xhr.onreadystatechange = function(){
                                   if(xhr.readystate == 4){//请求的状态码
                                                       /*
                                                                   0:请求还没有建立(open执行前)
                                                                   1:请求建立了还没发送(执行了open)
                                                                    2:请求正式发送(执行了send)
                                                                   3:请求已受理,有部分数据可以用,但还没有处理完成
                                                                 4:请求完全处理完成
                                                           */
                                         alert(xhr.responseText);//返回的数据
                                     }
                             }
可以看到,send()前是open()
发表于 2017-03-20 09:31:25 回复(15)

XMLHTttpRequest 是ajax请求的核心对象,创建一个该对象,需要先open(method,url,ansyc )再send (string )

发表于 2020-02-16 22:55:33 回复(0)
function ajax(url,funSuccess,funError){
var xmlhttp;
//非IE浏览器创建XmlHttpRequest对象
    if (window.XmlHttpRequest) {
        xmlhttp = new XmlHttpRequest();
    }
    //IE浏览器创建XmlHttpRequest对象
    if (window.ActiveXObject) {
        try {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch (e) {
            try {
                xmlhttp = new ActiveXObject("msxml2.XMLHTTP");
            }
            catch (ex) { }
        }
    }
    //连接服务器
   xmlhttp.open("GET",url,true);
   //发送请求
   xmlhttp.send();
   //接受返回
   xmlhttp.onreadystatechange=function(){
    //0 (未初始化) 还没有调用open()方法
    //1 (载入) 已经调用send()方法,正则发送请求
    //2 (载入完成) send() 方法完成,已经收到全部响应
    //3 (解析) 正则解析响应内容
    // 4 (完成) 响应内容解析完成,可以在客户端调用
    if(xmlhttp.readyState==4){
    if(xmlhttp.status==200){/// 成功
    //return xmlhttp.responseText;
    funSuccess(xmlhttp.responseText);
    } else{
    if(funError){
    funError(xmlhttp.status);
    }
    
    }
    }
   }
}
发表于 2019-03-06 09:49:31 回复(0)



/*1.创建对象*/
varxmlhttp;
if(window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=newXMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=newActiveXObject("Microsoft.XMLHTTP");
  }


/*2.请求*/
xmlhttp.open("GET","/ajax/demo_get.asp",true);
xmlhttp.send();

/*3.响应*/
xmlhttp.onreadystatechange=function()
{
  if(xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
}

发表于 2017-04-10 22:05:26 回复(0)
XMLHttpRequest 使用方法:var xhr=new XMLHttpRequest();xhr.open('get','xxxx',true);xhr.send();
发表于 2017-01-16 08:31:59 回复(0)
下面是用get 的ajax请求的代码:
function loadXMLDoc()
{
var xmlhttp;
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","/ajax/demo_get.asp",true);
xmlhttp.send();
}
可以看出send()前要调用open()
发表于 2015-09-04 17:41:02 回复(1)
Ajax不是新的编程语言,而是一门提供网页局部刷新的技术。
Ajax最大的优点是在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页内容。
Ajax技术核心就是XMLHttpRequest对象。
Ajax技术的工作原理
1)创建Ajax对象:var xhr = new XMLHttpRequest();
2)xhr 发送请求:xhr.open('get','test.html','true');
xhr.send();
3)xhr获取响应:
xhr.onreadystatechange = function(){
if(xhr.readystate == 4){//请求的状态码
/*
0:请求还没有建立(open执行前)
1:请求建立了还没发送(执行了open)
2:请求正式发送(执行了send)
3:请求已受理,有部分数据可以用,但还没有处理完成
4:请求完全处理完成
*/
alert(xhr.responseText);//返回的数据
}
}
因此,可以看到,send()前是open()
编辑于 2019-08-04 11:29:25 回复(0)
这道题的考点是 **XMLHttpRequest** 的使用流程。 --- ### **正确答案:B (open)** --- #### **1. XMLHttpRequest 对象的工作流程** `XMLHttpRequest` 是一个用于发送 HTTP 请求的对象。其调用顺序如下: 1. **`open` 方法**: - 负责初始化请求。 - 指定请求的类型(GET、POST 等)、目标 URL,以及是否异步。 - 语法:`xhr.open(method, url, async)`。 2. **可选设置**: - 设置请求头、超时等参数(可选)。 - 如:`xhr.setRequestHeader()`。 3. **`send` 方法**: - 用于发送请求。 - 如果是 POST 请求,`send` 方法中可以携带请求体。 --- #### **2. 题目分析** 题目问的是调用 `send()` 方法前必须调用的方法。 - **`prepare`**: - 并不存在此方法,错误。 - **`open`**: - 是必须调用的,因为它用来初始化请求,指定请求的 URL 和方法。 - **`init`** 和 **`build`**: - 这些方法在 `XMLHttpRequest` 中不存在。 --- #### **3. 示例代码** ```javascript // 创建 XMLHttpRequest 对象 var xhr = new XMLHttpRequest(); // 调用 open 方法初始化请求 xhr.open('GET', 'https://example.com', true); // 发送请求 xhr.send(); ``` --- #### **总结** `send()` 方法前必须调用 `open()` 方法来初始化请求,因此答案是 **B**。
发表于 2024-12-25 12:16:11 回复(0)
知道怎么取消xmlhttprequest的请求吗?
发表于 2022-05-09 00:30:08 回复(0)
open再send
发表于 2021-11-04 14:26:08 回复(0)
open
发表于 2019-04-30 09:35:14 回复(0)
是open呢
发表于 2017-12-18 00:40:58 回复(0)
B
发表于 2015-05-30 09:50:33 回复(0)
b
发表于 2015-05-28 17:02:52 回复(0)