我已经到了我需要在我的页面上使用Ajax的地步,但这只是一小部分 - 看看输入的用户名是否在数据库中。如上所述 这里 Ajax可以单独使用JavaScript完成。这样做的优点/缺点是什么?我倾向于这个,因为我不想要一个大型库,并认为当其他所有东西都已经是JavaScript时,它会不必要地复杂化。
我已经到了我需要在我的页面上使用Ajax的地步,但这只是一小部分 - 看看输入的用户名是否在数据库中。如上所述 这里 Ajax可以单独使用JavaScript完成。这样做的优点/缺点是什么?我倾向于这个,因为我不想要一个大型库,并认为当其他所有东西都已经是JavaScript时,它会不必要地复杂化。
除了在您的页面上加载80kb的Jquery.min.js之外没有什么区别......
如果你不需要支持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调用威胁视为 许诺,这使得某些场景(比如在运行某些代码之前等待多个ajax调用完成)更容易开发。
它不是那么糟糕......只是不那么小: 小型Ajax JavaScript库 正如那里所解释的那样,你也可以得到一个独立处理ajax的小型库。
编辑: 正如MCL在他的评论中指出的那样,还有这个片段: https://gist.github.com/mythz/1334560
它似乎实现了jQuery语法,但仅适用于ajax调用,如果你已经习惯了,这可能是更好的选择!
它一点也不差,jQuery只是提供了一个快捷方式来实现它,而手动编写它会变得更大。这就是它。
如果您只想要一个“ajax助手”,请尝试使用quirksmode中的这个片段: http://www.quirksmode.org/js/xmlhttp.html
我认为最大的优点是jQuery解决了跨浏览器处理AJAX调用的方式。
jQuery只是一个允许我们更有效地进行AJAX调用的框架。较小的代码。无论你是否使用jQuery都没关系。这完全取决于你的决定。如果jQuery很重,只需使用一个只提供AJAX功能的库。你也可以使用纯JS来进行AJAX调用。