通过JQuery运行AJAX代码并通过XMLHttpRequest运行它有什么优缺点和区别?我认为它是相同的,因为JQuery只是一个Javascript库,但同样必须有更多......
答案 0 :(得分:1)
你可以在jQuery和Javascript中做所有事情,包括AJAX。
但更喜欢jQuery的理由(Javascript的缺点):
没有跨浏览器支持。
复杂编码
更多简单功能的编码
您无法在所有浏览器及其版本的测试中浪费时间
jquery网站上有很棒的文档,但javascript缺乏它。
所有伟大公司都使用它 - > https://jquery.org/members/
对您来说什么方便?
Javascript
function loadXMLDoc() {
var xmlhttp;
if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
} else { // code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("POST","demo_post2.asp",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("fname=Henry&lname=Ford");
}
或
的jQuery
$("button").click(function(){
$.ajax({url:"demo_test.txt",success:function(result){
$("#div1").html(result);
}});
});
底线 - > jQuery是javascript上的一个层,用于以更好的方式简化你可以(并且不能)用javascript做的事情。
所以依赖jQuery进行ajax调用。
答案 1 :(得分:0)
我认为像jQuery一样;它只是一个简化和/或鼓励x浏览器支持的便捷方法的问题
答案 2 :(得分:0)
是的,你是对的,因为jQuery只是一个JS库,所以它是一样的......
在jQuery中你没有一件事可以用普通的JS做。如果性能真的很重要(CPU密集的应用程序,游戏等),你就远离这么重的图书馆。看到这个:http://vanilla-js.com/你会发现很多有趣的性能和代码比较(偏向JS,我同意,但我认为这是有原因的。)
使用jQuery使用AJAX的唯一好处是不得不编写少量代码,再次以降低库的速度为代价。对于一个简单的网站,你不会注意到性能差异,但是对于任何要求更高的东西......让我说我知道很多人(包括我自己)最终将jQuery功能重写为普通的JS。同样,这一切都取决于你想用它做什么 - 如果你只需要AJAX功能,我强烈建议在普通JS中编写一个包装器函数并继续使用它;但是如果你不想打扰所有这些并且对jQuery感觉更舒服,请使用jQuery - 特别是因为AJAX函数中的大部分时间花在了服务器请求上。
你会在这个问题中找到一些有趣的观点:When to use Vanilla JavaScript vs. jQuery?
这是一个有趣的(仍然有用):https://meta.stackexchange.com/questions/45176/when-is-use-jquery-not-a-valid-answer-to-a-javascript-question