$.getScript()和$.get()之间的区别

7
我正在尝试理解jQuery中$.getScript函数和$.get函数之间的区别。根据文档http://api.jquery.com/jQuery.get/http://api.jquery.com/jQuery.getScript/,我感觉使用$.getScript函数可以向服务器发送数据(就像使用$.get函数一样),但无法从服务器获取数据(这是$.get函数所能实现的)。但是,在$.getScript函数的文档中,第一个示例下面的几行显示了可以使用console.log(data); //data returned行来获取数据。那么它们之间有什么区别呢?是因为$.getScript只能调用js脚本,而$.get可以调用任何文件吗?使用其中一个函数相对于另一个函数有哪些限制/优势?
2个回答

18

这两者都是调用ajax函数的快捷方式。 jQuery.get相当于:

$.ajax({
  url: url,
  data: data,
  success: success,
  dataType: dataType
});

jQuery.getScript 相当于:

$.ajax({
  url: url,
  dataType: "script",
  success: success
});

很容易看出,jQuery.get 可以获取任何响应类型(脚本、XML、JSON、HTML - 默认为 HTML),而 getScript 仅限于 "script"。

简而言之,getScript 用于动态执行外部 JavaScript,get 是通用函数,通常用于根据传递的参数接收数据。然而,在 getScript 中也可以传递参数(在 URL 中),但这不是常见的,因为大多数脚本都是静态的。最后,在我们的脚本执行后,getScript 中的回调可以用于执行最终语句(例如,在加载库函数后使用某些库函数)。


1

getScript 旨在允许您加载脚本。当您从脚本中附加脚本时,它将异步加载脚本。如果您使用 getScript,则可以为其他脚本完成运行设置回调函数。

$.get 是一个基本的 ajax 请求,您可以根据需要进行操作。完全由您决定。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接