您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息

Ajax执行顺序流程及回调问题分析_基础知识

2024/4/25 12:30:06发布5次查看
一个全局的变量var jsondata;
我这里有一个ajax处理的方法:
jscript code:
复制代码 代码如下:
function getjson(datasourcename) {
$.ajax({
type: “post”,
url: “ajax/ajaxdata.ashx?methodname=” + datasourcename,
contenttype: “application/json;”,
data: “”,
datatype: “json”,
success: function (result) {
jsondata = result;
},
error: function (result) {
alert(“获取信息列表错误”);
window.close();
}
});
return jsondata;
}
然后我有一个类。
jscript code:
复制代码 代码如下:
function drawdropdownlist(sfieldrulemethod)
{
getjson(sfieldsourcename);
var b = jsondata;
}
如此,我在执行drawdropdownlist的时候,为什么总是获取不到jsondata呢?
我打断点跟踪了下, 发现是等drawdropdownlist方法里面的所有都执行完以后才会进入getjson方法,
请问有什么办法把getjson里面获得的result数据拿出来?
不要在
复制代码 代码如下:
success: function (result) {
//do something
},
我就是想把获得的数据拿出来用, 因为getjson是一个通用的方法,不想在里面执行单个的逻辑.
不能在回调中return,并且需要同步,就可以了!
另外一种放过是不建议同步的,需要给我的函数增加一个函数参数作为回调函数,将ajax的结果传递到该函数,如下代码细节:
复制代码 代码如下:
function getjson(datasourcename,callback) {
$.ajax({
type: “post”,
url: “ajax/ajaxdata.ashx?methodname=” + datasourcename,
contenttype: “application/json;”,
data: “”,
datatype: “json”,
success: function (result) {
jsondata = result;
callback(jsondata)
},
error: function (result) {
alert(“获取信息列表错误”);
window.close();
}
});
//return jsondata;
}
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录