我想使用jQuery的ajax从服务器获取数据。

我希望把成功的回调函数定义外面.ajax()块像下面这样。 所以,我需要声明变量dataFromServer像下面这样我就能从成功回调使用返回的数据?

我见过的大多数人定义内成功回调.ajax()块。 那么,下面的代码正确的,如果我想外界定义成功的回调?

var dataFromServer; //declare the variable first

function getData() {

$.ajax({

url : 'example.com',

type: 'GET',

success : handleData(dataFromServer)

})

}

function handleData(data) {

alert(data);

//do some stuff

}

Answer 1:

只需使用:

function getData() {

$.ajax({

url : 'example.com',

type: 'GET',

success : handleData

})

}

的success属性只需要一个函数的引用,并将该数据作为参数给此函数。

您可以访问handleData功能这样的,因为这样handleData声明。 JavaScript的将解析你的函数声明代码在运行它之前,所以你可以使用代码函数实际申报前,那是。 这就是所谓的吊装 。

这不计数声明如下功能,虽然:

var myfunction = function(){}

那些只可在翻译时与他们擦肩而过。

看到这个问题有关的声明函数的2种方式的更多信息

Answer 2:

因为jQuery的1.5(2011年1月),这样做的“新”的方式是使用强似延期对象success的回调。 您应该返回的结果$.ajax ,然后使用.done , .fail等方法来添加外的回调$.ajax调用 。

function getData() {

return $.ajax({

url : 'example.com',

type: 'GET'

});

}

function handleData(data /* , textStatus, jqXHR */ ) {

alert(data);

//do some stuff

}

getData().done(handleData);

这样可以使回调从AJAX处理处理,使您可以添加多个回调,回调失败,等等,所有甚至无需修改原始getData()函数。 从组动作之后完成分离AJAX功能是一件好事! 。

Deferreds还允许多个异步事件,你不能轻易地只是做容易得多同步success:

例如,我可以添加多个回调,错误处理程序,并等待计时器继续之前的等待:

// a trivial timer, just for demo purposes -

// it resolves itself after 5 seconds

var timer = $.Deferred();

setTimeout(timer.resolve, 5000);

// add a done handler _and_ an `error:` handler, even though `getData`

// didn't directly expose that functionality

var ajax = getData().done(handleData).fail(error);

$.when(timer, ajax).done(function() {

// this won't be called until *both* the AJAX and the 5s timer have finished

});

ajax.done(function(data) {

// you can add additional callbacks too, even if the AJAX call

// already finished

});

jQuery的其他部分使用延迟对象太 - 您可以与其他异步操作很容易与他们同步jQuery的动画。

Answer 3:

我不知道你为什么要定义的脚本之外的参数。 这是不必要的。 回调函数将返回的数据作为自动参数来调用。 这是非常可能的定义外回调sucess:即

function getData() {

$.ajax({

url : 'example.com',

type: 'GET',

success : handleData

})

}

function handleData(data) {

alert(data);

//do some stuff

}

该handleData函数将被调用,参数由AJAX功能传递给它。

Answer 4:

请尝试重写你的成功处理程序:

success : handleData

阿贾克斯方法的成功属性只需要一个对函数的引用。

在你handleData功能,您可以长达3个参数:

object data

string textStatus

jqXHR jqXHR

Answer 5:

我会写:

var handleData = function (data) {

alert(data);

//do some stuff

}

function getData() {

$.ajax({

url : 'example.com',

type: 'GET',

success : handleData

})

}

Answer 6:

经过几个小时玩它几乎变得迟钝。 奇迹来找我,它的工作。

var listname = [];

$.ajax({

url : wedding, // change to your local url, this not work with absolute url

success: function (data) {

callback(data);

}

});

function callback(data) {

$(data).find("a").attr("href", function (i, val) {

if( val.match(/\.(jpe?g|png|gif)$/) ) {

// $('#displayImage1').append( "" );

listname.push(val);

}

});

}

function myfunction() {

alert (listname);

}

Answer 7:

你并不需要声明变量。 Ajax的成功函数自动进行最多3个参数: Function( Object data, String textStatus, jqXHR jqXHR )

Answer 8:

在你的组件,即角JS代码:

function getData(){

window.location.href = 'http://localhost:1036/api/Employee/GetExcelData';

}

文章来源: jQuery ajax success callback function definition

ajax 成功回调函数,jQuery的阿贾克斯成功回调函数定义jQuery的阿贾克斯成功回调函数定义(jQuery ajax...相关推荐

  1. ajax failed啥意思,AJAX请求返回200 OK,但是一个错误事件被触发而不是成功。

    AJAX请求返回200 OK,但是一个错误事件被触发而不是成功. 我已经在我的网站上实现了一个Ajax请求,我正在从一个网页调用端点.它总是回来200 OK,但是jQuery执行错误事件.我试了很多东 ...

  2. 【历史上的今天】8 月 26 日:jQuery 发布;中国第一台百万次计算机试制成功

    整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来. 你的公司如今还在使用 jQuery 吗?今天是 2021 年 8 月 26 日,15 年前的今天,JavaScript 框 ...

  3. jquery 1.9里面已经删除了toggle(fn1, fn2)函数:

    jquery 1.9里面已经删除了toggle(fn1, fn2)函数: 引用 Note: This method signature was deprecated in jQuery 1.8 and ...

  4. (35)System Verilog引用包中定义的类(成功)

    (35)System Verilog引用包中定义的类(成功) 1.1 目录 1)目录 2)FPGA简介 3)System Verilog简介 4)System Verilog引用包中定义的类(成功) ...

  5. mysql 钩子函数_SetWindowsHookEx原理(如何使用钩子,使用钩子hook其他进程的函数)...

    基本概念 钩子(Hook),是Windows消息处理机制的一个平台,应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的.当消息到达后,在目标窗口处理函数之前处理 ...

  6. python使用什么函数接收用户输入的数据_python 3.x:调用和执行函数的用户输入...

    有许多类似的问题,但没有一个答案解决了我的问题. 我定义了几个解析大型数据集的函数.首先,我调用数据,然后将数据(在.txt中表示为行和列)组织到列表中,我将为各个数据条目编制索引.在此之后,我建立了 ...

  7. python函数定义的要点_python基础之函数重点

    函数的返回值 现在有一个需求,比较两个人的月薪,然后想获取月薪较大人的年薪. 如果需要在程序中拿到函数的处理结果做进一步的处理,则需要函数必须要有返回值. 需要注意的是: return是一个函数结束的 ...

  8. python内置数字类型转换函数_Python学习 Day2-2 Python3的基本数据类型、数据内置类型转换函数...

    Python3的基本数据类型 Python 中的变量不需要声明.每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建. 在 Python 中,变量就是变量,它没有类型,我们所说的"类型& ...

  9. python函数定义错误_[转载]python之函数的使用及异常处理2021.1.30

    2.1 定义函数 def 函数名(参数): 代码1 代码2 ...... 2.2 调⽤函数 函数名(参数) 注意: 1. 不同的需求,参数可有可⽆. 2. 在Python中,函数必须先定义后使⽤. 2 ...

  10. 本地函数定义是非法的_使用函数计算三步实现深度学习 AI 推理在线服务

    目前深度学习应用广发, 其中 AI 推理的在线服务是其中一个重要的可落地的应用场景.本文将为大家介绍使用函数计算部署深度学习 AI 推理的最佳实践, 其中包括使用 FUN 工具一键部署安装第三方依赖. ...

最新文章

  1. SASE — Overview
  2. lua代码格式化工具_FFLUA——C++嵌入Luaamp;扩展Lua利器
  3. 成功解决AttributeError: 'NoneType' object has no attribute '__array_interface__'
  4. mysql怎么删除唯一索引_mysql删除唯一索引
  5. Python调用微博API获取微博内容
  6. python全局变量怎么删除_python 全局变量怎么改
  7. 【操作系统/OS笔记13】信号量、PV操作、管程、条件变量、生产者消费者问题
  8. 抢占自动驾驶「制高点」,传统Tier1巨头「砸钱入场」
  9. 养老院管理系统如何开发详解
  10. 影音先锋 android下载地址,影音先锋安卓版下载
  11. 各个音阶的频率_各音源的频率范围表
  12. 水库大坝安全监测系统解决方案
  13. 兼容移动端的 Web 档案馆可视化管理系统
  14. 计算机的平方根的符号是哪个,平方根
  15. matlab小端模式合并,大端方式和小端模式【YC】
  16. 2021遥感应用组三等奖:基于PolSAR和高光谱遥感的黄河口湿地协同分类研究
  17. 易语言lsp劫持_[原创]不用导出任何函数的DLL劫持注入,完美!
  18. 电脑没有u盘怎么重装系统
  19. 变分自编码器的推导,VAE的推导,ELBO|证据下界|训练方法
  20. 像程序员一样思考之一

热门文章

  1. Leave List-Processing 新解
  2. 排队两小时买墨茉、虎头局,但别指望年轻人“味蕾忠诚”
  3. php微信墙开发,Node.js如何开发微信墙
  4. 物流企业计算机运用,计算机物流在企业决策
  5. linux跑r语言代码,R语言快捷键(示例代码)
  6. java 字符串去掉换行_java第一个程序quot;helloworldquot;
  7. 调整分区个数_在重装系统的过程中,硬盘如何分区呢?
  8. git提交到github总是要输入密码_push到github时,每次都要输入用户名和密码的问题...
  9. BUUCTF-reverse3
  10. CTF杂项题型之画图-Miscellaneous-200