Ajax — 第四天

数据交换格式

在这里插入图片描述

XML

写法:

  • 一个文档有且只有一个根标签
  • 标签必须闭合
  • 属性值必须加引号

如果说服务器返回的数据是xml格式的

  • 前端需要把服务器返回的xml当做document对象来处理
  • 目前无法演示,自己写接口的时候,我们可以测试一下。

JSON

写法:

  • 一个json文件(数据),最大的括号只能有一个
  • 字符串,必须使用引号

JSON的数据类型:

  • number
  • string
  • null
  • bool
  • array
  • object

json中不能有 undefined。也不能加注释

XHR(level2)新特性

设置请求超时处理

// 在发送请求之前,设置
xhr.timeout = 10; // 单位:毫秒
xhr.ontimeout = function () {// 如果请求响应整个过程超过10毫秒,触发该函数,可以给一个提示alert('请求超时,请稍后再试');
}

如果请求超过10毫秒还没有完成,则会取消这次请求

FormData

  • h5新增的一个对象
  • Form-表单、Data-数据。所以他用来收集表单数据

jQuery中的serialize() 和 FormData的区别

  • serialize() 只能收集到表单中的文本数据,不能收集文件,也就不能实现文件上传
  • FormData,既能收集表单中的文本数据,也能收集文件,就能够实现文件上传
  • serialize() 得到的数据格式是 查询字符串 id=11&name=zs&age=22...
  • FormData() 得到的数据格式是 对象,传输的数据我们看不到,是二进制形式的数据

使用方法

  • let fd = new FormData(表单的DOM对象) fd对象中就包含了表单中所有的数据

注意事项

  • 实例化的时候,参数必须是表单的DOM对象
  • FormData收集表单数据的时候,也是根据表单各项的name属性来收集,也就是表单各项必须有name属性
    • select>option (name要设置给select标签,value要设置给每个option)

FormData相关API

  • get(name) — 获取到该项的值
  • getAll() — 获取到该项所有的值
  • append(key, value) — 向fd对象中追加一个值
  • set(key, value) — 设置一个值,主要用于改变fd对象中的一个值

提交fd数据到接口

  • 使用原生的xhr对象提交
    • 必须使用POST方式
    • 使用支持FormData的接口(之前使用的全部接口,都不支持FormData)
    • 提交数据,直接 send(fd);
    • 不用指定请求头,浏览器会自动添加合适的请求头。
  • 使用$.ajax()提交
    • 提交的数据 data: fd
    • 必须加 contentType: false
    • 必须加 processData: false

使用的接口

  • 上传文件的接口
    • /api/upload/avatar
    • 请求参数:fd 对象
      • 必须有文件上传,并且文件域的name属性值必须是 avatar
    • 返回值:上传后的图片路径
  • 用于测试FormData的接口
    • /api/formdata
    • 不能用于上传文件,可以设置任何文本类型的值

文件上传

使用的接口,上面的 /api/upload/avatar

通过输出文件域的DOM对象,得到如下信息:
在这里插入图片描述

可以根据 文件域DOM对象.files.length 来判断是否选择了文件。

上传进度条

在这里插入图片描述

了解axios

GET和POST的区别

同步和异步

跨域问题

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/248056.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

检测字符串包含emoji表情

有时候在开发时会遇到不希望字符串中包含emoji表情的情况&#xff0c;Google之后发现了方法&#xff0c;但是似乎iOS9之后的emoji无法过滤&#xff0c;继续寻找方法&#xff0c;在一个NSString的扩展中发现了办法 #import <Foundation/Foundation.h>/**Category to searc…

数据库系统原理(第三章数据库设计 )

一、数据库设计概述 数据库的生命周期 数据库设计的目标&#xff1a; 满足应用功能需求&#xff08;存、取、删、改&#xff09;&#xff0c;良好的数 据库性能&#xff08;数据的高效率存取和空间的节省 共享性、完整性、一致性、安全保密性&#xff09;数据库设计的内容 数据…

Ajax — 第五天

Ajax-05 xhr&#xff08;level-2&#xff09;新特性 responseType属性和response属性 responseType: 表示预期服务器返回的数据的类型 “” &#xff0c;默认空text&#xff0c;和空一样&#xff0c;表示服务器返回的数据是字符串格式json&#xff0c;表示服务器返回的是js…

java 根据身份证号码获取出生日期、性别、年龄

1.情景展示 如何根据身份证号&#xff0c;计算出出生日期、性别、年龄? 2.解决方案 从网上找的别人的&#xff0c;因为并没有实际用到&#xff0c;所以并未对其优化&#xff01; /*** 通过身份证号码获取出生日期、性别、年龄* param certificateNo* return 返回的出生日期格式…

Swift傻傻分不清楚系列(十)枚举

本页内容包含&#xff1a; 枚举语法&#xff08;Enumeration Syntax&#xff09;使用 Switch 语句匹配枚举值&#xff08;Matching Enumeration Values with a Switch Statement&#xff09;关联值&#xff08;Associated Values&#xff09;原始值&#xff08;Raw Values&…

数据库系统原理(第四章:SQL与关系数据库基本操作 )

一、SQL概述 sql是结构化查询语言&#xff08;Structured Query Language&#xff0c;SQL&#xff09;是专门用来与数 据库通信的语言&#xff0c;它可以帮助用户操作关系数据库。 SQL的特点&#xff1a; SQL不是某个特定数据库供应商专有的语言&#xff1b; SQL简单易学 &…

selenium操作浏览器窗口最大化和刷新

实际测试过程中经常遇到打开一个页面并不是全屏显示&#xff0c;但是却希望它能够全屏显示或者新增一条记录后需要刷新一下看能不能再列表中正常显示。 于是就有了今天的关于对浏览器窗口的最大化和刷新页面。需要说明的一点&#xff1a;所有和python相关的记录都是基于3.6版本…

Git安装步骤+Mac终端配置

Git安装步骤 其实可以直接略过。因为安装的时候&#xff0c;一路 next 即可。 注意&#xff0c;安装路径中不能出现中文。安装完成后&#xff0c;不得更改安装路径。 检查Git是否安装成功 在任何文件夹&#xff0c;空白处&#xff0c;右键。如果看到 “Git Bash Here”&#xf…

Swift傻傻分不清楚系列(十一)类和结构体

本页包含内容&#xff1a; 类和结构体对比结构体和枚举是值类型类是引用类型类和结构体的选择字符串(String)、数组(Array)、和字典(Dictionary)类型的赋值与复制行为 类和结构体是人们构建代码所用的一种通用且灵活的构造体。我们可以使用完全相同的语法规则来为类和结构体定义…

数据库系统原理(第5章:数据库编程)

一、存储过程 概念&#xff1a;存储过程是一组为了完成某项特定功能的SQL语句集&#xff0c; 其实质就是一段存储在数据库中的代码。 它可以由声明式的sql语句和过程式sql语句组成。 特点&#xff1a; 可增强SQL语言的功能和灵活性良好的封装性高性能可减少网络流量可作为一种安…

科学-中医:儒医

ylbtech-科学-中医&#xff1a;儒医"儒医"是一种历史悠久的社会文化现象。阐释了"儒医"的三重境界,即良医、大医、圣医。"良医"注重技,属于知识论,追求的是"真";"大医"注重德,属于道德论,追求的是"善";"圣医…

Ajax — 第六天

Ajax-06 GET和POST的区别 字面意思不同 GET 是获取意思。想从服务器获取数据&#xff0c;用GET方式的请求POST是邮递、邮寄意思。如果提交数据到服务器&#xff0c;用POST方式 请求参数位置不同 GET 请求参数会和url拼接到一起&#xff0c;形如 api/getbooks?id2&age3PO…

iOS Tips 模拟器屏幕截图

当我们发布app到AppStore的时候&#xff0c;在itunes connect里面&#xff0c;苹果官方要求我们提供各种尺寸的屏幕截图。由于受到硬件条件的限制&#xff0c;我们不可能在每个真实的物理机器上测试并截图&#xff0c;相反如果我们能直接在模拟器上进行屏幕截图的话&#xff0c…

数据库系统原理(第6章:数据库安全与保护)

一、数据库完整性 数据库完整性是指数据库中数据的正确性和相容性。 完整性约束条件的作用对象 列级约束&#xff1a; 包括对列的类型、取值范围、精度等的约束元组约束&#xff1a; 指元组中各个字段之间的相互约束表级约束&#xff1a; 指若干元组、关系之间的联系的约束定义…

.net core WebApi 使用Swagger生成API文档

关于 Swagger Swagger能成为最受欢迎的REST APIs文档生成工具之一&#xff0c;有以下几个原因&#xff1a; Swagger 可以生成一个具有互动性的API控制台&#xff0c;开发者可以用来快速学习和尝试API。Swagger 可以生成客户端SDK代码用于各种不同的平台上的实现。Swagger 文件可…

Git — 初体验

准备工作 版本管理软件 作用 记录代码的版本实现多人协作 分类 集中式&#xff0c;典型代表 SVN分布式&#xff0c;典型代表 Git 注册远程仓库账号 远程仓库相当于中央服务器我们需要在github上或码云上注册一个账号&#xff0c;用于创建远程仓库使用注册的时候&#xff0…

iOS CoreTelephony框架介绍与使用案列

昨晚看一篇文章时看到了私有API这个词&#xff0c;貌似开发者对私有API的使用很反感于是果断百度谷歌&#xff0c;以下是Stackoverflow中关于Private Frameworks的一个解释&#xff1a; Private frameworks are frameworks which you are not allowed to use. They are not exp…

JS数组的迭代器方法

迭代器forEachevery一、迭代器方法 迭代器方法&#xff0c; 这些方法对数组中的每一个元素应用一个函数&#xff0c;可以返回一个值&#xff0c;一组值或一个新数组。 不生成新数组的迭代器方法 1.forEach() forEach()输出 forEach输出结果2.every() 该方法按接受一个返回值为布…

Git 笔记

三个区域 下面三个区域&#xff0c;是Git虚拟的区域&#xff0c;看不到&#xff0c;摸不着。 工作区 工作区&#xff0c;指的是使用Git管理后的文件&#xff0c;这些文件显示在磁盘上&#xff0c;供我们使用或修改的区域。所以&#xff0c;粗略的说&#xff0c;项目文件夹就是…

C# webapi 上传下载图片

客户端上传文件 string url url "webUploadFile";Uri server new Uri(url);HttpClient httpClient new HttpClient();MultipartFormDataContent multipartFormDataContent new MultipartFormDataContent();StreamContent streamConent new StreamContent(new F…