使用场景:

jsp页面中使用jquery的ajax请求比较频繁,以前vue框架的项目用过axios,所以就想着用then()封装一个公共请求的方法,这样每次请求就不用那么麻烦的写一大堆请求参数了。

示例代码:

/**

* 封装请求方法

* @param {Object} url 接口请求地址

* @param {Object} data 接口请求参数(无需请求方式参数,则此项可以为空,否则必须传)

* @param {Object} params 请求方式参数(可以为空)

*/

function ajax(url, data, params) {

return new Promise(function(resolve, reject) {

$.ajax({

url: "" + url,

type: params && params.type || 'post',

dataType: params && params.dataType || 'JSON',

data: data,

success: function(res) {

resolve(res)

},

error: function(res) {

alert(res.m)

}

});

});

}

//引用方法

var params={

goods_id:""

}

this.ajax("package/goodslist",params).then(function(data){

console.log(data)

})

代码解析:

如上,ajax请求的具体请求在封装的方法中进行处理并返回响应数据,调用方法只需要传入接口地址、请求参数就可以了。

如果需要使用其他的请求方式,则通过 params 参数传入预置的 type 和 dataType。

如果需要设置其他的请求参数,则直接对封装方法中扩展就可以了 。

注意事项:

1. 本例只是根据当前需求进行了简单的封装,可以根据自己的需要进行调整。

2. 调用封装好的请求方法必须传入url参数,如果ajax请求的配置参数不需要额外设置的话,则接口请求参数可以不传,如:

this.ajax("package/goodslist").then(function(data){

console.log("ddd,",data)

})

但是,如果ajax请求的配置参数需要配置,则接口参数即使没有,也得传个空值过去,如:

this.ajax("package/goodslist","",{type:"get"}).then(function(data){

console.log("ddd,",data)

})

当然你可以尝试使用es6的解构赋值进行传参。

Jquery 页面初始化常用的三种方法以及Jquery 发送ajax 请求

第一种 $(document).ready(function(){ //文档就绪事件 }); 第二种是第一种的简略写法,效果上和第一种是等效的. $(function(){ //文档加载事件,整个文档 ...

Ajax请求(二)--JQuery的Ajax请求方法

JQuery库的Ajax请求的几种方法: 1. load( url, [data], [callback] ) :载入远程 HTML 文件代码并插入至 DOM 中. 参数含义: url (String ...

jquery中ajax请求后台数据成功后既不执行success也不执行error解决方法

jquery中ajax请求后台数据成功后既不执行success也不执行error,此外系统报错:Uncaught SyntaxError: Unexpected identifier at Objec ...

【jquery】ajax 请求成功后新开窗口被拦截解决方法

问题: 前面开发项目时碰到一个问题,ajax 异步请求成功后需要新开窗口打开 url,使用的是 window.open() 方法,但是很可惜被浏览器给拦截了,怎么解决这个问题呢? 分析: 浏览器之所以 ...

Sping MVC不使用任何注解处理(jQuery)Ajax请求(基于XML配置)

1. Spring Spring框架是一个轻量级的解决方案,是一个潜在的一站式商店,用于构建企业就绪的应用程序.Spring框架是一个Java平台,为开发Java应用程序提供全面的基础架构支持.Spr ...

Struts2处理(jQuery)Ajax请求

1. Ajax     Ajax(Asynchronous JavaScript and XML,异步JavaScript和XML)时一种创建交互式网页应用的网页开发技术,它并不是一项新的技术,其产生 ...

Servlet处理(jQuery)Ajax请求

1. jQuery     jQuery是一个JavaScript函数库,极大的简化了JavaScript编程,很容易学习.jQuery是目前最流行的开源js框架,并且提供了大量的扩展. 2. Aja ...

JQuery发送ajax请求不能用数组作为参数

JQuery发送ajax请求不能用数组作为参数,否则会接收不到参数, 一.js代码如下: $('#delete-button').click(function(){        var select ...

Angular和jQuery的ajax请求的差别

近期项目中使用angular,结果发现后台没法获取參数,所以,略微研究了一下两者在发送ajax时的差别. 注意angular和jquery的ajax请求是不同的. 在jquery中,官方文档解释con ...

随机推荐

matlab 求解线性方程组之范数

1.赋范线性空间和内积空间 在线性代数的初级教材里,一般是在向量空间中定义内积,然后再由内积来导出范数,比如在n维实向量空间中: |x||=√ 在线性代数的高级教材中,一般是将内 ...

MongoDB 初见指南

技术若只如初见,那么还会踩坑么? 在系统引入 MongoDB 也有几年了,一开始是因为 MySQL 中有单表记录增长太快(每天几千万条吧)容易拖慢 MySQL 的主从复制.而这类数据增长迅速的流水表, ...

Python入门4

函数 函数其实在日常的编码过程中,你都在使用,比如print().input().len()等函数,只不过这些都是python给你写好的内置函数,供你是用,内置的函数数量有限,想让python为我们做 ...

Linux中的文件特殊权限

linux中除了常见的读(r).写(w).执行(x)权限以外,还有3个特殊的权限,分别是setuid.setgid和stick bit 1.setuid.setgid 先看个实例,查看你的/usr/b ...

使用wget -i下载多个文件

使用wget -i下载多个文件 命令: wget -i filelist.txt 说明: 首先,保存一份下载链接文件 cat > filelist.txt url1 url2 url3 url4

MRC的下setter访问器的两种形式

// Person复合了Phone和Room // 第一种:比较合理 先判断对象形参传递的对象和原属性是否一致,不一致在释放旧值,给形参传递的值retain,因为retain方法会返回该对象,因此可以 ...

BZOJ 4518: [Sdoi2016]征途 [斜率优化DP]

4518: [Sdoi2016]征途 题意:\(n\le 3000\)个数分成m组,一组的和为一个数,求最小方差\(*m^2\) DP方程随便写\(f[i][j]=min\{f[k][j-1]+(s[ ...

sql stuff函数的语法和作用

sql stuff函数用于删除指定长度的字符,并可以在制定的起点处插入另一组字符.sql stuff函数中如果开始位置或长度值是负数,或者如果开始位置大于第一个字符串的长度,将返回空字符串.如果要删除 ...

前端 -----jQuery的选择器

02-jQuery的选择器   我们以前在CSS中学习的选择器有: 今天来学习一下jQuery 选择器. jQuery选择器是jQuery强大的体现,它提供了一组方法,让我们更加方便的获取到页面中的元 ...

多个git使用的 ssh key共存

ssh-keygen -t rsa -C "ljkj028@qq.com" 不要一直回车,指定密钥为 id_rsa_ljkj 默认为(id_rsa) 同理 创建其他密钥 打开ssh ...

ajax.then()用法,使用es6的then()方法封装jquery的ajax请求相关推荐

  1. jquery中ajax完整例子get,jq的ajax方法,jquery中ajax完整例子

    jq的ajax方法,jquery中ajax完整例子 相较与js异步对象的繁琐,jq的ajax对象结构更加清晰 一:ajax对象简述 ajax(Asynchronous JavaScript and X ...

  2. ie11 ajax 加载提示,解决在IE11浏览器下,JQuery的AJAX方法不响应问题

    在项目的时候一直都是在使用谷歌浏览器在调试,后来在现场部署到服务器上的时候,客户使用的是IE浏览器,版本是11 在测试的过程中,出现几个问题,虽然是几个问题,但是问题的原因就是AJAX第一次响应,第二 ...

  3. 服务器不响应Ajax,web前端:解决在IE11浏览器下,JQuery的AJAX方法不响应问题

    jQuery的核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的css选择器,并且可对CSS选择器进行扩展;拥有便捷的插件扩展机制和丰富的插件.jQuery兼容各种主流浏览器 ...

  4. jquery ajax 省 城市 二级菜单 源码,利用了jquery的ajax实现二级联互动菜单

    菜单资源保存在数据库中.利用了jquery的ajax实现.用到的包有:json-lib-2.2.3-jdk15.jar ezmorph-1.0.6.jar json.js jquery.js jsp页 ...

  5. ajax 返回xml 怎么显示显示图片,如何使用jquery和ajax读取,解析和显示xml

    我想读取,解析并显示使用jquery和ajax的xml文件.但同时尝试这样做,我得到一个错误,因为我无法解析XML,而如何使用jquery和ajax读取,解析和显示xml 这是我的代码. $(docu ...

  6. 封装jquery的ajax,便于加载等待提示框

    先贴上代码. 传入4给参数,保证post,get都能执行,和普通的ajax区别在于添加了设置的timeout. 并在每一次的发送接收请求后执行dialog()方法. function AjaxRequ ...

  7. ajax页面载入动画,添加加载动画,jQuery的AJAX .load()

    对于我知道必须采取超过几毫秒的时间的潜力,我用Spin.js它没有任何外部依赖,并且是跨浏览器兼容 var opts = { lines: 13, // The number of lines to ...

  8. $.ajax的async参数,jquery的$.ajax async使用详解

    async在jquery ajax中是一个同步参数了,我们下面来给大家介绍在jquery ajax中使用async时碰到的一些问题与方法介绍,希望例子能给各位同学带来一些帮助哦. async默认是tr ...

  9. Ajax是什么?Ajax高级用法之Axios技术

    Ajax AJAX 异步请求局部刷新 Ajax 参数详解 js.json.jsonp区别 json和jsonp的区别 同源策略 json和js对象的区别 Ajax高级用法(axios) 为什么要用Ax ...

最新文章

  1. PaaS下半场,任重且道远
  2. 选择排序-直接选择排序
  3. java 自定义 operator_java8 自定义Collector
  4. vc++ 动态加载位图
  5. 嵌入式LINUX环境下视频采集知识
  6. Waveform Audio 驱动(Wavedev2)之:WAV API模拟
  7. Ethercat解析(十)之从站配置
  8. Linux系统中cgroup功能介绍
  9. 欧几里得算法求最大公约数,最小公倍数
  10. termux安装gcc
  11. 电脑不停,电脑不停重启
  12. 神经网络参数量和计算量,神经网络计算公式
  13. 关于GoldWave给Vegas视频添加音频叠加的教程分享
  14. ubuntu卸载mysql
  15. 二维码的生成与解析示例 生成二维码
  16. Vue路由懒加载(resolve),嵌套路由 3
  17. TextView和EditText
  18. Vue3的组件开发大法不完全指北
  19. go系列-笔记(第五天)
  20. AtCoder Beginner Contest 272「A」「B」「C」「D bfs」「E 思维」

热门文章

  1. snort create mysql_配置Snort的过程
  2. 大数据“数说”城市印象
  3. 跨境shopee虾皮电商五天没上架完50款产品会怎么办?
  4. WinForm开发(74)——contextMenuStrip(3)——contextMenuStrip开发笔记
  5. Python 大作业 网易云歌单数据分析及可视化(参考多位博主文章)
  6. 2021 栉风沐雨 , 砥砺前行
  7. 红帽redhat Linux配置本地yum源
  8. 101 个 MySQL 的调节和优化的提示
  9. 如何找到一个正规的level2行情接口?
  10. Python初学者笔记(六):白话讲“装饰器”,你看不懂算我笨!