我应该使用哪个jQuery函数:load()或ajax()?
问题描述:
目前我使用的AJAX功能,像这样:我应该使用哪个jQuery函数:load()或ajax()?
$.ajax({
type: 'get',
url: 'ajax_requests.php?action=get-list-of-all-users',
data: '',
success: function(output) {
$('div.showHere').html(output);
}
});
的PHP文件ajax_requests.php
具有执行基于其接收通过在URL中的GET参数值的各种命令的switch语句。
所以我实际上并没有通过任何通过ajax函数的data
参数。我只是告诉PHP脚本我想通过url完成。
今天我发现我可以很好地使用load()函数。我现在用的是GET
方法好像在更短的代码上面是执行Ajax请求的更好的方式
$('div.showHere').load('ajax_requests.php?action=get-list-of-all-users');
只要我可以做这得到与上述相同的结果。但是我不太了解jQuery或Ajax自己做决定。那我该用哪一个?和load()在这种情况下比使用ajax()更好的性能?
答
在内部,load
几乎是你以前明确做的确切过程。无论你喜欢什么,如果存在性能差异,则可以忽略不计。
表演会发生的唯一地方是,在您的load
示例中,您只搜索div.showHere
一次。在ajax
示例中,每次请求完成时都会执行该搜索。如果这个请求经常被触发,这将是一个小而重要的性能差异。
但是,具体问题与实现这两个方法,而不是方法自己做的,它可以很容易地通过缓存搜索的结果解析:
var showHere = $('div.showHere');
$.ajax({
type: 'get',
url: 'ajax_requests.php?action=get-list-of-all-users',
data: '',
success: function(output) {
showHere.html(output);
}
});
答
真的没关系。我唯一需要补充的是,如果你打算增加更多的功能,那么我会使用$ .ajax,因为无论如何你都需要。 .load正在做同样的事情。
至于性能,它们将几乎相同,但除非您有严重的性能问题,否则不应该担心。
所以你通过将元素说在一个变量中搜索外部ajax请求会导致它被缓存,并消除来自jQuery每次搜索文档的性能问题? – 2011-01-25 04:26:53