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

相关文章

C++初始化数组的几种常见方法(简单易懂)

《C++初始化数组的几种常见方法(简单易懂)》本文介绍了C++中数组的初始化方法,包括一维数组和二维数组的初始化,以及用new动态初始化数组,在C++11及以上版本中,还提供了使用std::array... 目录1、初始化一维数组1.1、使用列表初始化(推荐方式)1.2、初始化部分列表1.3、使用std::

前端原生js实现拖拽排课效果实例

《前端原生js实现拖拽排课效果实例》:本文主要介绍如何实现一个简单的课程表拖拽功能,通过HTML、CSS和JavaScript的配合,我们实现了课程项的拖拽、放置和显示功能,文中通过实例代码介绍的... 目录1. 效果展示2. 效果分析2.1 关键点2.2 实现方法3. 代码实现3.1 html部分3.2

Ubuntu固定虚拟机ip地址的方法教程

《Ubuntu固定虚拟机ip地址的方法教程》本文详细介绍了如何在Ubuntu虚拟机中固定IP地址,包括检查和编辑`/etc/apt/sources.list`文件、更新网络配置文件以及使用Networ... 1、由于虚拟机网络是桥接,所以ip地址会不停地变化,接下来我们就讲述ip如何固定 2、如果apt安

SQL 中多表查询的常见连接方式详解

《SQL中多表查询的常见连接方式详解》本文介绍SQL中多表查询的常见连接方式,包括内连接(INNERJOIN)、左连接(LEFTJOIN)、右连接(RIGHTJOIN)、全外连接(FULLOUTER... 目录一、连接类型图表(ASCII 形式)二、前置代码(创建示例表)三、连接方式代码示例1. 内连接(I

Python安装时常见报错以及解决方案

《Python安装时常见报错以及解决方案》:本文主要介绍在安装Python、配置环境变量、使用pip以及运行Python脚本时常见的错误及其解决方案,文中介绍的非常详细,需要的朋友可以参考下... 目录一、安装 python 时常见报错及解决方案(一)安装包下载失败(二)权限不足二、配置环境变量时常见报错及

PyCharm 接入 DeepSeek最新完整教程

《PyCharm接入DeepSeek最新完整教程》文章介绍了DeepSeek-V3模型的性能提升以及如何在PyCharm中接入和使用DeepSeek进行代码开发,本文通过图文并茂的形式给大家介绍的... 目录DeepSeek-V3效果演示创建API Key在PyCharm中下载Continue插件配置Con

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

JS 实现复制到剪贴板的几种方式小结

《JS实现复制到剪贴板的几种方式小结》本文主要介绍了JS实现复制到剪贴板的几种方式小结,包括ClipboardAPI和document.execCommand这两种方法,具有一定的参考价值,感兴趣的... 目录一、Clipboard API相关属性方法二、document.execCommand优点:缺点: