#php #ajax
#php #ajax
Вопрос:
Я хочу создать всплывающую форму редактирования, используя только ajax. т. е. когда пользователь нажимает на ссылку, появляется всплывающее окно, и он редактирует данные и сохраняет их. могу ли я сделать это без какого-либо фреймворка ajax?
Комментарии:
1. Есть ли причина, по которой вы не хотите использовать фреймворк, подобный jQuery? Это сделало бы вашу жизнь намного проще …. если только нет веской причины не делать этого.
Ответ №1:
Да, вы можете, вы всегда можете создавать XMLHttpRequest
объекты самостоятельно, но использование фреймворка сэкономит вам часы или дни кодирования и обеспечит максимальную совместимость вашего сервиса с браузером.
Ответ №2:
Да, вы можете использовать следующую функцию, которую я написал и несколько недель занимался ее оптимизацией.
function ajaxGET(url,span_or_div) {
var httpRequest;
if (window.XMLHttpRequest) { // Mozilla, Safari, ...
httpRequest = new XMLHttpRequest();
if (httpRequest.overrideMimeType) {
httpRequest.overrideMimeType('text/plain');
}
}
else if (window.ActiveXObject) { // IE ( yeah 200bytes wasted because of IE.. lol
try {
httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
try {
httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {}
}
}
if (!httpRequest) {
alert('Giving up :( Cannot create an XMLHTTP instance');
return false;
}
httpRequest.onreadystatechange = function() {
if (httpRequest.readyState == 1) {
window.document.getElementById(span_or_div).innerHTML='Loading...';
}
if (httpRequest.readyState == 4) {
if (httpRequest.status == 200) {
document.getElementById(span_or_div).innerHTML=(httpRequest.responseText);
} else {
window.document.getElementById(span_or_div).innerHTML='<strong>Error 404</strong><br />Page Not Found.';
}
}
};
httpRequest.open('GET', url, true);
httpRequest.send('');
}
Комментарии:
1. -1: Кажется, вы даже не прочитали вопрос полностью. Вопрос в том, как создать всплывающее окно без использования какого-либо фреймворка. не как выполнять ajax-вызовы
2. @Sarwar: В названии явно упоминается ajax, и он также понадобится для сохранения формы. Само визуальное всплывающее окно, конечно, не имеет ничего общего с ajax.
3. Извините, ребята, за мой быстрый пост. Мой пост был ответом на предыдущий комментарий. В какой-то момент ему нужно было бы выполнить вызов AJAX, поэтому я разместил функцию для него, чтобы она пригодилась. -1 для совместного использования? о.. :/