我刚刚开始学习Ajax,而且我看到大多数人都在使用Ajax(制作Get和Post请求),如下所示:
$.ajax({
method: "GET",
url: "Customers/GetCustomerById",
data: { customerId: Id }
})
.done(function (response) {
//Do something here
});
我在Ajax后面的红色是XMLHttpRequest object
,所以这意味着当使用上面的代码时,这样的事情发生在场景背后" :
httpRequest = new XMLHttpRequest();
httpRequest.onreadystatechange = function someMyFunction(){
// Process the server response here.
};
http.open("GET", url+"?"+customerId, true);
这是真的吗?
今天是否避免了第二种方法?或者它还在使用? 我只是在学习网络而且我不知道这就是为什么我要问...
我也想知道为什么人们会使用这个"首先"方法,也许他们不是,但我在许多地方实际上看到了它......
非常感谢大家和欢呼!
答案 0 :(得分:1)
我在Ajax后面的红色是XMLHttpRequest对象
XHR是一个用于执行Ajax的浏览器API。还有其他几个。 XHR可能是最常用的。
这是真的吗?
jQuery确实在幕后做了一些事情。
今天是否避免了第二种方法?
没有
有些人使用jQuery,因为他们发现它比使用本机浏览器API或其他库更方便。其他人不使用jQuery。
答案 1 :(得分:1)
我将简单地在两个部分中描述答案
<强> 1。在$.ajax()
是的,基本上JQuery使用本机浏览器API进行Ajax请求。它创建的XHR对象与第二个代码相同,但它们使用了一些额外的代码行,因为JQuery不仅处理纯文本。 (即额外的JSON和XML支持)
您可能会看到XHR here的JQuery源代码部分在幕后观看更多内容;)
<强> 2。使用原生浏览器API
现在第二个示例代码类型也在使用。人们使用$.ajax()
,因为它使编码变得快速而简单,也很容易捕获XML和JSON响应。
希望有所帮助
答案 2 :(得分:0)
“First”方法使用名为jQuery的js库。使用jQuery(这不是jQuery的主要用途)不仅更容易进行ajax调用,而且它还处理跨不同浏览器和主要是不同版本的浏览器的ajax调用。今天大多数浏览器都支持XMLHTTPRequest对象。但旧浏览器的情况并非如此。
阅读this了解详情。
使用jQuery编写代码可能更容易,但有时由于jQuery(或某些浏览器可能存在jQuery问题)而发生文件之间的冲突。 在这些情况下,开发人员可以选择通过在vanilla javascript中编码来实现和处理这些和/或其他场景。选择任何一种方法取决于开发人员。
希望这个答案有所帮助。