2013-04-12 3 views
0

Я хочу, чтобы понять разницу между использованием AJAX, как это,разница между 2-мя способами использования AJAX

function showHint(str) 
{ 
var xmlhttp; 
if (str.length==0) 
    { 
    document.getElementById("txtHint").innerHTML=""; 
    return; 
    } 
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("txtHint").innerHTML=xmlhttp.responseText; 
    } 
    } 
xmlhttp.open("GET","db_update?q="+str,true); 
xmlhttp.send(); 
} 

и использовать его, как это ..

$.ajax({ 
    url: "db_update.php", 
    type: "POST", 
    data: { id: id, state: state }, 
    cache: false, 
    success: function (response) { 
     $('#text').html(response); 
    } 
}); 

Чем отличается один от другого ? который эффективен?

+2

Для выполнения работы (вторая) используется сторонняя библиотека (jQuery). Другой - ручной. Я бы заподозрил, что первый более эффективен (это всего лишь предположение), тогда как второе, безусловно, более надежное. –

ответ

0

Как указано в разделе комментариев, первый использует стандартный Javascript для запроса Ajax, тогда как второй использует JQuery. Это, по сути, одно и то же, однако вторая версия менее утомительна и понятна. Что касается производительности, я предполагаю, что JQuery должен быть оптимизирован, поэтому он не должен быть слишком разным. В конце концов, это всего лишь обертка. Вероятно, вы могли бы сделать лучше, написав свой собственный код, но вам придется искать совместимость кросс-браузеров и другие проблемы, где JQuery позаботится об этом для вас.

Смежные вопросы