521源码-免费源码下载-免费学习教程-常见的原生js封装ajax

2024-05-28 09:20

本文主要是介绍521源码-免费源码下载-免费学习教程-常见的原生js封装ajax,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

更多 网站源码 学习教程 游戏源码,请点击👉-521源码-👈获取最新资源

请看以下案例:

function ajax(options) {var xhr = null;var type = 'GET';var params = formsParams(options.data);if(typeof options.type != 'undefined'){type = options.type.toUpperCase();}//创建对象if (window.XMLHttpRequest) {xhr = new XMLHttpRequest();} else {xhr = new ActiveXObject("Microsoft.XMLHTTP");}if (typeof options.async == "undefined") {options.async = true;}// 处理请求成功的回调函数xhr.onload = function(){if (xhr.status >= 200 && xhr.status < 300) {if (typeof options.datatype == "undefined" || options.datatype == "json") {if(typeof options.success === 'function'){options.success(JSON.parse(xhr.responseText));}} else {if(typeof options.success === 'function'){options.success(xhr.responseText);}}} else {if(typeof options.error === 'function'){options.error(xhr.statusText);}}}// 处理请求错误的回调函数xhr.onerror = function() {if(typeof options.error === 'function'){options.error(xhr.statusText);}}// 设置请求头部if (options.headers) {for (var header in options.headers) {xhr.setRequestHeader(header, options.headers[header]);}}// 设置请求方法、URL、是否异步、发送请求if (type == "GET") {xhr.open(type, options.url + "?" + params, options.async);xhr.send(null);} else if (type == "POST") {xhr.open(type, options.url, options.async);xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");xhr.send(params);}function formsParams(data) {var arr = [];for (var prop in data) {arr.push(prop + "=" + data[prop]);}return arr.join("&");}
}// 使用
ajax({url: "api.php",// 请求地址type: "POST",// 请求方式async: true,// 同步:false,异步:true,默认为truedatatype: "json",// 返回数据的格式,"json","text",默认为jsonheaders: {},// 设置请求头部,{"token": "123456"}data: {// post数据code: "s2sdd",link: location.href},success: function (res) {// 处理请求成功console.log(res);},error: function (res) {// 处理请求错误console.log(res);}
})

这篇关于521源码-免费源码下载-免费学习教程-常见的原生js封装ajax的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1010162

相关文章

PostgreSQ数据库实现在Windows上异地自动备份指南的详细教程

《PostgreSQ数据库实现在Windows上异地自动备份指南的详细教程》这篇文章主要为大家详细介绍了如何在Windows系统上实现PostgreSQL数据库的异地自动备份,文中的示例代码讲解详细,... 目录前期准备实现步骤步骤一:创建备份脚本步骤二:配置免密登录(可选但推荐)步骤三:设置任务计划程序步

Python中Tkinter GUI编程详细教程

《Python中TkinterGUI编程详细教程》Tkinter作为Python编程语言中构建GUI的一个重要组件,其教程对于任何希望将Python应用到实际编程中的开发者来说都是宝贵的资源,这篇文... 目录前言1. Tkinter 简介2. 第一个 Tkinter 程序3. 窗口和基础组件3.1 创建窗

Java中的CompletableFuture核心用法和常见场景

《Java中的CompletableFuture核心用法和常见场景》CompletableFuture是Java8引入的强大的异步编程工具,支持链式异步编程、组合、异常处理和回调,介绍其核心用法,通过... 目录1、引言2. 基本概念3. 创建 CompletableFuture3.1. 手动创建3.2.

Python中Request的安装以及简单的使用方法图文教程

《Python中Request的安装以及简单的使用方法图文教程》python里的request库经常被用于进行网络爬虫,想要学习网络爬虫的同学必须得安装request这个第三方库,:本文主要介绍P... 目录1.Requests 安装cmd 窗口安装为pycharm安装在pycharm设置中为项目安装req

JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)

《JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)》:本文主要介绍如何在IntelliJIDEA2020.1中创建和部署一个JavaWeb项目,包括创建项目、配置Tomcat服务... 目录简介:一、创建项目二、tomcat部署1、将tomcat解压在一个自己找得到路径2、在idea中添加

SpringBoot返回文件让前端下载的几种方式

《SpringBoot返回文件让前端下载的几种方式》文章介绍了开发中文件下载的两种常见解决方案,并详细描述了通过后端进行下载的原理和步骤,包括一次性读取到内存和分块写入响应输出流两种方法,此外,还提供... 目录01 背景02 一次性读取到内存,通过响应输出流输出到前端02 将文件流通过循环写入到响应输出流

SpringBoot项目整合Netty启动失败的常见错误总结

《SpringBoot项目整合Netty启动失败的常见错误总结》本文总结了SpringBoot集成Netty时常见的8类问题及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录一、端口冲突问题1. Tomcat与Netty端口冲突二、主线程被阻塞问题1. Netty启动阻

Python + Streamlit项目部署方案超详细教程(非Docker版)

《Python+Streamlit项目部署方案超详细教程(非Docker版)》Streamlit是一款强大的Python框架,专为机器学习及数据可视化打造,:本文主要介绍Python+St... 目录一、针对 Alibaba Cloud linux/Centos 系统的完整部署方案1. 服务器基础配置(阿里

SpringBoot整合Kafka启动失败的常见错误问题总结(推荐)

《SpringBoot整合Kafka启动失败的常见错误问题总结(推荐)》本文总结了SpringBoot项目整合Kafka启动失败的常见错误,包括Kafka服务器连接问题、序列化配置错误、依赖配置问题、... 目录一、Kafka服务器连接问题1. Kafka服务器无法连接2. 开发环境与生产环境网络不通二、序

Spring IOC核心原理详解与运用实战教程

《SpringIOC核心原理详解与运用实战教程》本文详细解析了SpringIOC容器的核心原理,包括BeanFactory体系、依赖注入机制、循环依赖解决和三级缓存机制,同时,介绍了SpringBo... 目录1. Spring IOC核心原理深度解析1.1 BeanFactory体系与内部结构1.1.1