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

相关文章

Go标准库常见错误分析和解决办法

《Go标准库常见错误分析和解决办法》Go语言的标准库为开发者提供了丰富且高效的工具,涵盖了从网络编程到文件操作等各个方面,然而,标准库虽好,使用不当却可能适得其反,正所谓工欲善其事,必先利其器,本文将... 目录1. 使用了错误的time.Duration2. time.After导致的内存泄漏3. jsO

Elasticsearch 在 Java 中的使用教程

《Elasticsearch在Java中的使用教程》Elasticsearch是一个分布式搜索和分析引擎,基于ApacheLucene构建,能够实现实时数据的存储、搜索、和分析,它广泛应用于全文... 目录1. Elasticsearch 简介2. 环境准备2.1 安装 Elasticsearch2.2 J

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

Java实现文件图片的预览和下载功能

《Java实现文件图片的预览和下载功能》这篇文章主要为大家详细介绍了如何使用Java实现文件图片的预览和下载功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... Java实现文件(图片)的预览和下载 @ApiOperation("访问文件") @GetMapping("

用js控制视频播放进度基本示例代码

《用js控制视频播放进度基本示例代码》写前端的时候,很多的时候是需要支持要网页视频播放的功能,下面这篇文章主要给大家介绍了关于用js控制视频播放进度的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言html部分:JavaScript部分:注意:总结前言在javascript中控制视频播放

MyBatis 动态 SQL 优化之标签的实战与技巧(常见用法)

《MyBatis动态SQL优化之标签的实战与技巧(常见用法)》本文通过详细的示例和实际应用场景,介绍了如何有效利用这些标签来优化MyBatis配置,提升开发效率,确保SQL的高效执行和安全性,感... 目录动态SQL详解一、动态SQL的核心概念1.1 什么是动态SQL?1.2 动态SQL的优点1.3 动态S

Linux卸载自带jdk并安装新jdk版本的图文教程

《Linux卸载自带jdk并安装新jdk版本的图文教程》在Linux系统中,有时需要卸载预装的OpenJDK并安装特定版本的JDK,例如JDK1.8,所以本文给大家详细介绍了Linux卸载自带jdk并... 目录Ⅰ、卸载自带jdkⅡ、安装新版jdkⅠ、卸载自带jdk1、输入命令查看旧jdkrpm -qa

Java使用Curator进行ZooKeeper操作的详细教程

《Java使用Curator进行ZooKeeper操作的详细教程》ApacheCurator是一个基于ZooKeeper的Java客户端库,它极大地简化了使用ZooKeeper的开发工作,在分布式系统... 目录1、简述2、核心功能2.1 CuratorFramework2.2 Recipes3、示例实践3

Python实现无痛修改第三方库源码的方法详解

《Python实现无痛修改第三方库源码的方法详解》很多时候,我们下载的第三方库是不会有需求不满足的情况,但也有极少的情况,第三方库没有兼顾到需求,本文将介绍几个修改源码的操作,大家可以根据需求进行选择... 目录需求不符合模拟示例 1. 修改源文件2. 继承修改3. 猴子补丁4. 追踪局部变量需求不符合很

springboot简单集成Security配置的教程

《springboot简单集成Security配置的教程》:本文主要介绍springboot简单集成Security配置的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录集成Security安全框架引入依赖编写配置类WebSecurityConfig(自定义资源权限规则