0

我正在阅读有关 Ajax 和 jQuery 的内容,并且看到了以下代码:

$.ajax({
  url: "test.html",
  cache: false
}).done(function( html ) {
  $("#results").append(html);
});

我在任何地方都没有看到“html”的声明,代码怎么知道要附加什么?

PS这可能是一个愚蠢的问题,但我在任何地方都找不到这个问题的答案:/

4

1 回答 1

1

当 ajax 调用完成时,它会将数据传递到为 done 定义的函数中。

.done(function(html){

html 在这里不是“定义”的,而是接收数据的变量的名称。一旦定义了占位符,您就可以在函数中的任何位置使用它。

例如,如果您有

function myFunc(foo){
    alert(foo);
}

然后做了

myFunc(1234);
//result 1234

myFunc("test");
//result "test"

所以,真正的 html 正是这个人选择调用从 ajax 调用接收到的数据。如果您阅读 jQuery 网站上的教程,大多数时候他们将这个变量命名为“数据”

于 2012-08-01T23:50:37.023 回答