iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >如何理解Ajax核心XMLHttpRequest
  • 647
分享到

如何理解Ajax核心XMLHttpRequest

2024-04-02 19:04:59 647人浏览 泡泡鱼
摘要

这篇文章主要讲解了“如何理解ajax核心XMLHttpRequest”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何理解Ajax核心XMLHttpRequ

这篇文章主要讲解了“如何理解ajax核心XMLHttpRequest”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何理解Ajax核心XMLHttpRequest”吧!

    使用方法 
    XMLHttpRequest五步使用法:

复制代码 代码如下:


    1.创建对象;
    2.注册回调函数;
    3.使用open方法设置和服务器交互的基本信息;
    4.设置发送的数据,开始和服务器端交互;
    5.实现回调函数。

    由于每次应用XMLHttpRequest对象时,都要进行五步操作,因此,可将该对象的使用封装为js文件中,传递部分参数使用其方法就可以完成相应功能,实现如下:

复制代码 代码如下:


    //使用封装方法人员只提供http的请求,url地址,数据,成功和失败的回调的方法
    //1.定义XMLHttpRequest对象的构造方法
    var MyXMLHttpRequest =function(){
    var xmlhttprequest;
    if(window.XMLHttpRequest){
    //IE7,IE8,FireFox,Mozillar,Safari,Opera
    //alert("IE7,IE8,FireFox,Mozillar,Safari,Opera");
    xmlhttprequest = new XMLHttpRequest();
    //解决浏览器在服务器端响应由于没有Text头的时候可能无法工作的问题
    if(xmlhttprequest.overrideMimeType){
    xmlhttprequest.overrideMimeType("text/xml");
    }
    }else if(window.ActiveXObject){
    //IE6,IE5.5,IE5
    alert("IE6,IE5.5,IE5");
    var activexName =["MSXML2.XMLHTTP","Microsoft.XMLHTTP"];
    for (var n=0;n

扩展问题

    1.浏览器缓存
    2.中文乱码
    3.跨域访问

    对于问题1、问题3都可以通过更改url地址的方法得以解决。问题1可在url地址尾添加时间戳,问题3通过代理方式进行解决。只需在send()中的第三步执行前添加相应判断即可:

复制代码 代码如下:


    //解决缓存的转换:增加时间戳
    if(url.indexOf("?") >= 0 ){
    url = url + "&t=" + (new Date())。valueOf();
    } else {
    url = url + "?t=" + (new Date())。valueOf();
    }
    //解决跨域的问题
    if(url.indexOf("http://") >= 0) {
    url.replace("?","&");
    url = "Proxy?url=" + url;
    }

    问题3对应代理服务端实现:

复制代码 代码如下:


   
    @Override
    protected void doGet(httpservletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    //获取参数,最后得到请求url地址类似于:url = http://192.168…/AJAX/AJAXServer?aa=11&bb=22&cc=33
    StringBuilder url = new StringBuilder();
    url.append(request.getParameter("url"));
    //获取访问的跨域地址url = http://192.168…/AJAX/AJAXServer
    Enumeration enu = request.getParameterNames();
    boolean flag = false;       //定义标志变量,表示是否为拼接的第一个参数
    while(enu.hasMoreElements()){
    String paramName = (String) enu.nextElement();
    if(!paramName.equals("url")){
    String paramValue = request.getParameter(paramName);
    paramValue = URLEncoder.encode(paramValue,"utf-8");
    if(!flag){
    url.append("?")。append(paramName)。append("=")。append(paramValue);
    flag = true;
    } else {
    url.append("&")。append(paramName)。append("=")。append(paramValue);
    }
    }
    }
    response.setContentType("text/html;charset=utf-8");
    PrintWriter out = response.getWriter();
    if(url != null && url.length() > 0){
    URL connectionUrl = new URL(url.toString());
    BufferedReader reader = new BufferedReader(new InputStreamReader(connectionUrl.openStream(),"utf-8"));

感谢各位的阅读,以上就是“如何理解Ajax核心XMLHttpRequest”的内容了,经过本文的学习后,相信大家对如何理解Ajax核心XMLHttpRequest这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: 如何理解Ajax核心XMLHttpRequest

本文链接: https://www.lsjlt.com/news/81988.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何理解Ajax核心XMLHttpRequest
    这篇文章主要讲解了“如何理解Ajax核心XMLHttpRequest”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何理解Ajax核心XMLHttpRequ...
    99+
    2024-04-02
  • ajax的核心怎么理解
    这篇“ajax的核心怎么理解”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“ajax的核心怎...
    99+
    2024-04-02
  • 如何理解Scala的核心规则
    这篇文章将为大家详细讲解有关如何理解Scala的核心规则,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Read Eval Print Loop (REPL)REPL在Scala里面指的是直接...
    99+
    2023-06-17
  • ajax核心XMLHTTPRequest对象的创建与浏览器的兼容问题是怎样的
    今天就跟大家聊聊有关ajax核心XMLHTTPRequest对象的创建与浏览器的兼容问题是怎样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 ...
    99+
    2024-04-02
  • 如何快速理解MySQL核心技术?
    如何快速理解MySQL核心技术?MySQL是一种常用的关系型数据库管理系统,广泛应用于各种应用程序和网站开发中。理解MySQL的核心技术对于数据库开发和管理非常关键。本文将介绍一些快速理解MySQL核心技术的方法和建议。首先,了解MySQL...
    99+
    2023-10-22
    MySQL 数据库 核心技术
  • 如何理解Kubernetes核心概念与组件
    本篇内容主要讲解“如何理解Kubernetes核心概念与组件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何理解Kubernetes核心概念与组件”吧!Kub...
    99+
    2024-04-02
  • 如何理解Spark中的核心概念RDD
    如何理解Spark中的核心概念RDD,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。RDD全称叫做弹性分布式数据集(Resilient Dist...
    99+
    2024-04-02
  • 如何理解PHP核心特性命名空间
    目录提出定义使用限定符在内部访问命名空间转义\符号提出 PHP 在 5.3 后提出了命名空间用来解决组件之间的命名冲突问题,主要参考了文件系统的设计: 同一个目录下不允许有...
    99+
    2024-04-02
  • 如何理解XMLHttpRequest应用函数:downloadUrl()
    本篇内容主要讲解“如何理解XMLHttpRequest应用函数:downloadUrl()”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何理解XMLHttpR...
    99+
    2024-04-02
  • 不使用XMLHttpRequest对象如何实现Ajax效果
    小编给大家分享一下不使用XMLHttpRequest对象如何实现Ajax效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!本文实例讲述了不使用XMLHttpReq...
    99+
    2023-06-08
  • 如何理解Java Socket聊天程序核心代码
    如何理解Java Socket聊天程序核心代码,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Java Socket聊天程序在编写的时候需要我们注意很多的事情,本程...
    99+
    2023-06-17
  • 如何解读Java HashMap核心源码
    这期内容当中小编将会给大家带来有关如何解读Java HashMap核心源码,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。对HashMap实现的源码进行简单的分析。 所使用的HashMap源码的版本信息如下...
    99+
    2023-06-17
  • SpringIOC与DI核心深入理解
    目录深入理解IOC思想DI&IOC深入理解IOC思想 spring本质就在于将对象全部交由给spring容器创建和管理,由容器控制对象的整个生命周期、核心就是IOC控制反转和...
    99+
    2023-02-20
    Spring IOC与DI Spring DI Spring IOC
  • Docker核心原理之 Cgroup详解
    内核中强大的工具cgroup,不仅可以限制被NameSpace隔离起来的资源,还可以为资源设置权重,计算用量等 什么是cgroup cgroup全称是control groups c...
    99+
    2024-04-02
  • Ajax技术组成与核心原理的示例分析
    这篇文章将为大家详细讲解有关Ajax技术组成与核心原理的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、Ajax特点:局部刷新、提高用户的体验度,数据从服务器商...
    99+
    2024-04-02
  • 如何理解ajax
    这篇文章将为大家详细讲解有关如何理解ajax,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。什么是AjaxAjax是Asynchronous JavaScri...
    99+
    2024-04-02
  • 如何理解SpringBoot核心运行原理和运作原理源码
    如何理解SpringBoot核心运行原理和运作原理源码,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。SpringBoot核心运行原理Spr...
    99+
    2024-04-02
  • 如何理解CDN的核心技术之一:负载均衡
    本篇内容主要讲解“如何理解CDN的核心技术之一:负载均衡”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何理解CDN的核心技术之一:负载均衡”吧!CDN是近年来从美国首先兴起并迅速发展起来的一种...
    99+
    2023-06-10
  • 理解Golang泛型的核心概念
    go 泛型允许创建可重用类型和函数,不会修改代码本身。它包括:泛型类型:使用类型参数,允许在创建类型时指定参数类型(如 []t、map[k]v)。泛型函数:使用类型参数,必须指定显式的类...
    99+
    2024-04-03
    golang 泛型
  • 解析Flink内核原理与实现核心抽象
    目录一、环境对象1.1 执行环境StreamExecutionEnvironmentLocalStreamEnvironmentRemoteStreamEnvironmentStre...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作