11

我已经到了需要在我的页面上使用 Ajax 的地步,但这只是一小部分 - 查看输入的用户名是否在数据库中。正如这里所解释的, Ajax 可以单独使用 JavaScript 完成。这样做的优点/缺点是什么?我倾向于这个,因为我不想要一个大型库,并且认为当其他一切都已经是 JavaScript 时,它会变得不必要地复杂。

4

6 回答 6

6

如果你不需要支持老版本的IE,比如IE6,那么很简单,你不需要任何工厂函数,简单的:

var http = new XMLHttpRequest();

适用于所有浏览器。另外,在最近的浏览器中(我也相信IE8),您可以使用onload事件而不是onreadystate

var http = new XMLHttpRequest();

http.open("GET", "somepage.html", true);
http.onload = function () {
    alert("Request complete: " + http.responseText);
}
http.send();

success这与jQuery的处理程序非常相似。

有关详细信息,请参阅:使用 XMLHttpRequest

然而,jQuery 现在将 ajax 调用威胁作为promises,这使得一些场景(比如在运行一些代码之前等待多个 ajax 调用完成)更容易开发。

于 2013-02-07T09:29:22.183 回答
2

还不错……只是没有那么小: Small Ajax JavaScript library ,正如那里解释的那样,您也可以只获得那些单独处理 ajax 的小型库之一。

编辑:正如 MCL 在他的评论中指出的那样,还有这个片段:https ://gist.github.com/mythz/1334560

它似乎实现了 jQuery 语法,但仅适用于 ajax 调用,如果您习惯了它,这可能是一个更好的选择!

于 2013-02-07T09:04:19.917 回答
1

这一点都不错,jQuery 只是提供了一个快捷方式来完成它,而手动编写它会变得更大一些。差不多就是这样。

如果您只想要一个“ajax 助手”,请尝试使用来自 quirksmode 的这段代码:http ://www.quirksmode.org/js/xmlhttp.html

于 2013-02-07T09:04:13.983 回答
1

jQuery 只是一个允许我们更有效地进行 AJAX 调用的框架。较小的代码。是否使用 jQuery 并不重要。这完全由您决定。如果 jQuery 是重量级的,只需使用仅提供 AJAX 功能的库。您也可以使用纯 JS 进行 AJAX 调用。

于 2013-02-07T09:06:22.823 回答
1

我认为最大的优点是 jQuery 解决了处理 AJAX 调用的跨浏览器方式。

于 2013-02-07T09:06:46.813 回答
1

除了在您的页面上加载 80kb 的 Jquery.min.js 之外,没有什么不同......

于 2013-02-07T09:08:20.430 回答