2

这是我的函数,它返回一个人的名字。

function getName(ID){
    return $.ajax({
        url:url,
        data: ID,
        type: 'get',
        dataType: 'json'
    });
}

这是我尝试使用 .done() 函数的地方。

getName("1").done() // How do I ref the returned var in our done function? 

我对如何在我的完成函数中引用我的 getName 函数的返回值感到困惑。

我知道我可以使用 success: 在 .ajax 中做到这一点,但我正试图摆脱它并使用延迟对象。

谢谢!

4

2 回答 2

1

看起来完成需要一个回调函数,该函数接受一个参数,其中包含从请求中收到的数据。 http://api.jquery.com/jQuery.ajax/

getName("1").done(function(response) {
  alert(response);
}); 
于 2012-07-20T23:48:19.490 回答
1

它就在文档中:

//Example: Save some data to the server and notify the user once it's complete.
$.ajax({
  type: "POST",
  url: "some.php",
  data: { name: "John", location: "Boston" }
}).done(function( msg ) {
  alert( "Data Saved: " + msg );
});

//Example: Retrieve the latest version of an HTML page.
$.ajax({
  url: "test.html",
  cache: false
}).done(function( html ) {
  $("#results").append(html);
});

另外,请确保您阅读内容,因为根据数据类型,您实际上可能“接收”的不是简单的字符串/id,而是可能从 JSON/XML 结果解析的对象或...

于 2012-07-20T23:52:45.590 回答