处理来自ajax请求的返回数据,但在回调函数之外

时间:2011-04-15 12:44:27

标签: jquery ajax function callback getjson

我有这段代码。

/*
   Get the source of the data.
*/

if (if_the_source_is_an_url) {

  $.getJSON(url_here, function(returnedData){ theData = returnedData; });

}

/*
   Here we have the default processing of theData.
*/

所以我需要的是,如果用户提供了一个url,那么将在回调函数之外处理已恢复的数据,因为我需要重用数据处理代码。所以,我带来了这个想法。

  • 使用break命令 $.getJSON(url_here, function(returnedData){ theData = returnedData; break;});
  • 更改为$ .ajax请求,但有 async:false
  • 只需将数据处理放在一个 功能并从中调用它 回调函数。

    if (url) $.getJSON(url_here, function(returnedData){ customFunction(returnedData); }); else customFunction(defaultData);

任何想法,如果这将工作(我没有测试它因为我不在家里),或者有更好的做法吗?

1 个答案:

答案 0 :(得分:1)

使用jQuery.ajaxComplete附加处理程序/函数来过滤/转换/等数据。您将在此处附加的句柄将针对您的所有ajax请求进行调用