关于ajax传递函数参数的问题

本文分享了在使用AJAX的done回调函数时,正确处理回调函数参数的方法。作者最初尝试传递一个额外的函数参数,但遇到错误。通过调整,仅使用data参数,成功实现了回调函数的预期功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天做网页的时候,想ajax在success后执行我自己写的一个函数,于是我传值如下:

 var ajx=function(func){
            var url="http://www.rulertech.com:3000/api/getAllOfferJobs";
             $.ajax({
                url: url,
                type: 'GET', 
                dataType: 'json'
                }).done(function(data,func){
                           func(data);  
                }).fail(function() {
                           console.log('出错了');
                }).always(function() {
                           console.log('why always me!');
           });       
         }

然后控制台报错,说func is not a function;问了人之后告诉我:

“ajax回调不就一个参数data么?那个func是什么玩意???不用传……

你这个回调函数只交给ajax去执行的, ajax会将传回来的数据作为你的参数也就是data来执行回调函数,

所以这个回调函数是没有后面的参数的  func是undefined”

于是我改正过来就成功了!

 var ajx=function(func){
            var url="http://www.rulertech.com:3000/api/getAllOfferJobs";
             $.ajax({
                url: url,
                type: 'GET', 
                dataType: 'json'
                }).done(function(data){
                           func(data);  
                }).fail(function() {
                           console.log('出错了');
                }).always(function() {
                           console.log('why always me!');
           });       
         }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值