当前位置: 首页 > 面试题库 >

没有框架的javascript ajax请求

田易安
2023-03-14
问题内容

有谁知道如何使ajax请求功能能够跨浏览器而无需使用jQuery等JavaScript框架?


问题答案:

XMLHttpRequest对象实际上并没有那么复杂。为了广泛兼容,您必须玩一些游戏才能创建对象,但是在此之后,对于简单操作而言,这是相当简单的。

Microsoft在MSDN页面XMLHttpRequest上具有的示例,其中包括用于以跨浏览器方式创建对象的功能,该功能支持IE的早期版本。这是他们的例子:

function getXMLHttpRequest() 
{
    if (window.XMLHttpRequest) {
        return new window.XMLHttpRequest;
    }
    else {
        try {
            return new ActiveXObject("MSXML2.XMLHTTP.3.0");
        }
        catch(ex) {
            return null;
        }
    }
}

function handler()
{
    if (oReq.readyState == 4 /* complete */) {
        if (oReq.status == 200) {
            alert(oReq.responseText);
        }
    }
}

var oReq = getXMLHttpRequest();

if (oReq != null) {
    oReq.open("GET", "http://localhost/test.xml", true);
    oReq.onreadystatechange = handler;
    oReq.send();
}
else {
    window.alert("AJAX (XMLHTTP) not supported.");
}

我并不是说上面的示例是最佳实践(Microsoft似乎由非常缺乏经验的工程师编写了他们的MSDN示例),但是它为您提供了一个起点。例如,以上要求成功的响应状态为200,当然HTTP规范明确指出200≤n≤299范围内的任何内容都是“成功”。



 类似资料:
  • 在不讨论原因的情况下,假设有人想要一个老式的Play Framework web服务,并且不想使用依赖注入,也不想依赖Google的Guice。在玩法2.8.x中还可能吗? 有没有一个简单的方法可以让你不去这里就呆在老学校里? 我承认,但不完全理解https://www.playframework.com/documentation/2.4.x/migration24。我认为我的问题与2.7中删除

  • 如何将YAML列表加载到Spring框架项目中的Java列表(没有springboot)? 我看到它在springboot项目中与一起工作。但我无法让它在纯spring框架项目中使用。似乎注释无法正确解析列表。 下面是一个示例项目:https://github.com/KiranMohan/spring-yaml. 为了加载yaml文件,我使用了。 代码在jUnit类中进行测试。 输出is 示例y

  • 问题内容: 我有ajax请求执行3个任务: 保存模型(数据库) 发电子邮件 提供成功或失败的消息。 因为此任务需要太多时间。用户可以等待长达20秒的响应(成功或失败的消息)。并且,如果用户关闭浏览器,则它停止在该用户当前处理的操作之一中。 这是糟糕的用户体验。 我希望用户将其数据提交给我的控制器,然后他将收到“成功或失败的消息”。并且该过程将完全在服务器端,并且它应该支持多个会话。 我怎样才能做到

  • 我有我的api在Django和Django REST框架(DRF)。 这是我的设置文件: 我得到了坏请求(400)错误: 我查看了Chrome的网络选项卡,我得到的是: 在React中,我得到: 问题是什么,错误背后的原因是什么?API正在工作,我以前没有这个错误。

  • 问题内容: 有没有像spring这样的android应用程序框架? 问题答案: 查看roboguice:http : //code.google.com/p/roboguice/ 顺便说一句,没有什么可以阻止您使用spring-因为这是纯java框架。但是它很重,可能出于您的目的而过度使用。 问题是-您想注入什么依赖关系?

  • 我的方法取得了90%的成功,但当响应在一个子键中有多个条目时,逻辑就会失败,我无法将一个通用逻辑放在适当的位置,该逻辑将在所有情况下运行。 响应样本为 现在,我的用例说您搜索John文本,然后items数组将包含许多对象,这些对象的项是。名称或项目。部分。说明应包含“John”关键字 我放置的匹配逻辑运行良好,因为我正在迭代项[]。名称和项目。第[]节。描述 主要的挑战来自于[*]节。说明包含如下