2013-10-03 3 views
0

Моя проблема в том, что мой код действительно длинный и сложный, потому что это обычный xmlhttp, и я хочу переключить его на jQuery. Я уверен, что для этого существуют сокращенные функции? Это мой текущий код:Преобразование xmlhttp javascript в jquery

function getContent() { 
    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) { 

      replace_page = xmlhttp.responseText; 
      doc.getElementById("content").innerHTML = replace_page; 

      $("#content").children().hide(); 
      $("#content").children().fadeIn("slow"); 

      //do some other stuff 
     } 
     navigating = false; 
    }; 
    xmlhttp.open("GET",site_location+"/pages/"+page+".php",true); 
    xmlhttp.send(); 
} 

Я нашел этот example, и это работает прекрасно, но я также придется использовать это для форм ...

Есть простой способ, которым я могу Измени это? Я знаю, что это, вероятно, будет связано с функцией сериализации, не так ли?

ответ

2

посмотреть $.ajax();

$.ajax({ 
    type: 'GET', 
    url: site_location+"/pages/"+page+".php", 
}).done(function(html){ 
    $('#content').html(html).children().hide().fadeIn("slow"); 
}) 

или лучше, используя load(), поскольку цель состоит в том, чтобы загрузить содержимое HTML к целевому элементу

$('#content').load(site_location+"/pages/"+page+".php", function(){ 
    $(this).children().hide().fadeIn("slow"); 
}) 
+0

Да, это то, что я имею в примере ссылку. Как я могу заставить его работать над формами? –

+0

Ох! Нагрузка лучше! Я бы допустил эту ошибку. Выполняя ajax, я мог бы иметь возможность делать содержимое формы тоже, верно, верно? –

+0

@Aarilight жаль, что вы подразумеваете под «Я мог бы иметь возможность делать содержимое формы тоже, тo, правильно?» –

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