Так уж сложилось, что я, зная про Ajax и постоянно работая верстальщиком (если по умному, то front-end разработчиком), никогда сам толком с ним ничего не делал. Всегда были back-end разработчики, которые все это быстрее и легче реализовывали. Придумывали что спросить у сервера и что на это ответить. В мои задачи всегда входило взять данные из JS функции и куда-нидо их запихать на страницу.
Однако пришло время и мне плотно разобраться с этой технологией. Просто чтобы потом не сидеть с глупым видом на собеседовании и не говорить: "ну эта..."
Хотя нет, было дело я писал Ajax запрос из расширения Firefox. Но не суть, в данном случае надо взять на заметку кусок кода для копипасты.
// Функция для получения xmlhttp объекта
function getxmlhttpobject() {
var xmlhttp;
if (window.XMLHttpRequest) {
xmlhttp=new XMLHttpRequest();
}
else {
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
return xmlhttp;
}
function ajaxgetFunction() {
var xmlhttp = getxmlhttpobject();
xmlhttp.onreadystatechange=function() {
if(xmlhttp.readyState == 4 && xmlhttp.status == 200) { document.title=xmlhttp.responseText; }
}
xmlhttp.open("GET","script.php",true);
xmlhttp.send(null);
}
function ajaxpostFunction() {
var xmlhttp = getxmlhttpobject();
var params = "param1=0¶m2=3";
xmlhttp.open("POST", "script.php", true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.setRequestHeader("Content-length", params.length);
xmlhttp.setRequestHeader("Connection", "close");
xmlhttp.onreadystatechange = function() {
if(xmlhttp.readyState == 4 && xmlhttp.status == 200) {document.title=xmlhttp.responseText; }
}
xmlhttp.send(params);
}
Ничего нового, все пошло и скучно, но теперь есть место откуда этот код можно быстро забрать, при необходимости.
Кстати, загружать файлы видимо придется через трюк с iframe или есть еще способ?