JavaScript与服务端进行数据交互的方式
XMLHttpRequest
XHR是项古老的技术,不同的浏览器厂商对其实现方式不同,例如有些浏览器只支持
onload事件处理器,有些只支持onreadystatechange事件处理器。
发送Get请求
// 创建XHR请求
let request = new XMLHttpRequest();
// 指定用于从网络请求资源的HTTP方法和URL
request.open('GET', url);
// 设置响应类型,默认'text'
request.responseType = 'application/json';
// (可选)设置请求头
// request.setRequestHeader(header,value);
// 响应已经返回时,将执行onload事件处理器
request.onload = function() {
let resp = request.response;
};
// 发送请求
request.send();
发送POST请求
let request = new XMLHttpRequest();
request.open('POST', url);
request.responseType = 'application/json';
request.onload = function() {
let resp = request.response;
};
request.send("username=lyp&password=123");
Fetch API
发送GET请求
fetch(url)
.then(function(response) {
response.text()
.then(function(text) {
});
});
Promises
fetch发送请求,接收响应,返回值是一个Promises;
then运行后续操作,参数为一个函数,这个函数接收1个参数,就是从Promises中解析出来的response;
response的text()方法用于获取响应的纯文本格式,返回值依然是一个Promises,可以接着连接另一个then;
then的返回值依然是一个Promises,可以接着连接另一个then,所以,上面的代码等价于下面的代码
fetch(url)
.then(function(response){
return response.text();
})
.then(function(text){
});
response
请求是否成功:response.ok
响应的网络状态和描述性消息:response.status response.statusText
响应主体内容:response.text() response.json() response.blob()
发送POST请求
fetch(url,{
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(data),
})
.then(response=>response.json())
.then(data=>console.log(data));
JQuery中的Ajax
axios
JavaScript与服务端进行数据交互的方式的更多相关文章
- js与C#服务端 json数据交互
1.1 服务端返回给前端 返回的数据都放入对象中(根据需求:单个对象,集合,键值对),然后JSON序列化返回给前端.这里可以引用JSON.NET 库,也可以用.NET自带的类库: JavaScript ...
- socket网络编程登录实现及多客户端和服务端的数据交互
一.TCP/IP 客户端 package com.demo.entity; import java.io.Serializable; public class UserInfo implements ...
- Android客户端采用Http 协议Post方式请求与服务端进行数据交互(转)
http://blog.csdn.net/javanian/article/details/8194265
- Angular - - $resource 更高端的数据交互
$resource 创建一个resource对象的工厂函数,可以让你安全的和RESFUL服务端进行数据交互. 需要注入 ngResource 模块.angular-resource[.min].js ...
- 前端与后端数据交互的方式之ajax
前端与后端数据交互的方式之Ajax 对于前端学习而言,CSS+HTML+JavaScript的学习在自我学习的情况下掌握也不是很难,但是想要实现前后端的数据交互在没有指导的情况下学习会是一头雾水.接下 ...
- C# 移动端与PC端的数据交互
小记:针对目前功能越来越强大的智能手机来说,在PC端支持对手机中的用户数据作同步.备份以及恢复等保护措施的应用已经急需完善.不仅要对数据作保护,而且用户更希望自己的手机跟PC能够一体化,以及和远程服务 ...
- 《ServerSuperIO Designer IDE使用教程》- 6.增加与阿里云物联网(IOT)对接服务,实现数据交互。发布:v4.2.4 版本
v4.2.4 更新内容:1.增加了对接阿里物联网平台的服务.下载地址:官方下载 6. 增加与阿里云物联网(IOT)对接服务,实现数据交互 6.1 概述 为了满足业务系统数据上云的要求,Se ...
- Diango之通过form表单向服务端发送数据
通过form表单向服务端发送数据 表单元素 表单:form></form>表单用于向服务器传输数据.另外一种向服务端传输数据的方式为ajax. form属性: action:提交表单 ...
- --@angularJS--自定义服务与后台数据交互小实例
1.myService.html: <!DOCTYPE HTML><html ng-app="app"><head> <title& ...
随机推荐
- JAVA的基本介绍和JDK的安装
JAVA帝国 JAVA特性和优势 简单 面向对象 可复制性 高性能 分布式 动态性 多线性 安全性 健壮性 JAVA三大版本 javaSE:标准版(桌面程序.控制台开发) javaME(嵌入式开发) ...
- [Python] RPC实现
单线程同步 使用socket传输数据 使用json序列化消息体 struct将消息编码为二进制字节串,进行网络传输 消息协议 1 // 输入 2 { 3 in: "ping", 4 ...
- [设计模式] 设计模式课程(二十)--命令模式(Command)
概述 "行为变化"模式:组件构建过程中,组件行为的变化经常会导致组件本身剧烈的变化."行为变化"模式将组件的行为和组件本身进行解耦,从而支持组件行为的变化,实现 ...
- [笔记] 《c++ primer》显示器程序 Chapter7
补充Sales_data没有体现出的其他类特性 Screen.h 1 #include <string> 2 #include <iostream> 3 4 class Scr ...
- Linux GCC lib库相互引用,互相依赖(交叉引用)链接解决办法
Linux GCC中,如果lib a依赖b,b又依赖a,链接的时候无论a放在前,还是b放在前,都会提示unrefrence. 解决办法就是: 链接的时候a链接两次,即: -la -lb -la
- linux服务器默认使用中文字符集zh_CN.UTF-8
linux服务器默认使用中文字符集zh_CN.UTF-8 一.问题描述和相关概念 linux服务器的字符集设置可能影响到网站页面出现 "???" 等问号乱码,还有可能导致文件中的汉 ...
- 戴尔服务器如何配置远程管理卡(IDRAC9)适用于戴尔R740服务器
戴尔服务器如何配置远程管理卡(IDRAC9)适用于戴尔R740服务器 转: DELL IDRAC9 该配置方法适合于所有戴尔14G服务器,包括全系列戴尔服务器,标准版适用于R440/R540/R640 ...
- Docker Swarm(一)集群部署
一.机器环境 机器规划 172.16.0.89 swarm的manager节点 manager-node 172.16.0.90 swarm的node节点 node1 机器版本(均是:CentOS L ...
- 自己封装的mysql应用类示例
from pymysql import *class my_mysql_mud(object): def __init__(self,host,port,db,user,passwd,charset= ...
- STM32F7系列时钟相关问题:HSE模式配置(旁路模式、非旁路模式
从时钟源的角度,分为两类外部时钟(E)和内部时钟(I).从时钟速率的角度,分为两类高速时钟(HS)和低速时钟(LS).而把它们组合起来就有四种时钟:HSE.HIS.LSE.LSI.至于为什么会有这么复 ...