|
|
|
| После дебатов в одном из своих постов начал изучать AJAX, в целом все предельно просто и понятно, но по ходу появляются вопросы, онтветы на которые буду задавать здесь в надежде получить на них ответы, заранее спасибо!
1. вопрос - в материалах звучат такие понятия как объекты, экземпляры, методы и свойства. я так понял это их ООП, кто смог бы на пальцах объяснить что эти поняти означают или дать ссылку на статью, где на пальцах объясняют, что это такое ))
2. вопрос - есть ли универсальный способ вызова объекта XMLHttpRequest, который работает во всех браузерах, пока нашел вото этот:
<script language="javascript" type="text/javascript">
var request = false;
try {
request = new XMLHttpRequest();
} catch (trymicrosoft) {
try {
request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (othermicrosoft) {
try {
request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (failed) {
request = false;
}
}
}
if (!request)
alert("Error initializing XMLHttpRequest!");
</script>
|
пока все вызревает ряд вопросов, ограничусь пока этим. | |
|
|
|
|
|
|
|
для: Bvz
(30.06.2009 в 21:35)
| | не стал вглядываться в ваш код, но мой у меня работает везде
var request = false;
try {
request = new XMLHttpRequest();
} catch (trymicrosoft) {
try {
request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (othermicrosoft) {
try {
request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (failed) {
request = false;
}
}
}
if (!request)
alert("Error initializing XMLHttpRequest!");
|
тоже самое/ код универсальный | |
|
|
|
|
|
|
|
для: neokortex
(01.07.2009 в 18:48)
| | а если вглядеться, то вы скопировали мой код ))) | |
|
|
|
|
|
|
|
для: Bvz
(01.07.2009 в 22:27)
| | 1. http://www.mkgt.ru/files/material-static/423/js/0106.htm
2. Программисты Гугля используют следующий код:
google.xhr = function () {
var a = null;
if (window.XMLHttpRequest) try {a = new XMLHttpRequest} catch (c) {}
else if (window.ActiveXObject)
for (var d = 0, b; b = ["MSXML2.XMLHTTP.6.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"] [d++];)
try {a = new ActiveXObject (b); break} catch (c) {}
return a};
|
| |
|
|
|
|
|
|
|
для: PAT
(02.07.2009 в 00:15)
| | в общем начал изучать материал, в целом понятно, что не может не радовать, много надо будет изучить, взял почти готовый код, разобрал что по чем, но возникло ряд вопросов и ошибок, сам код потом вопросы ))
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional-dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Изучаем AJAX</title>
<script language="javascript" type="text/javascript">
var request = false;
try {
request = new XMLHttpRequest();
} catch (trymicrosoft) {
try {
request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (othermicrosoft) {
try {
request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (failed) {
request = false;
}
}
}
if (!request)
alert("Error initializing XMLHttpRequest!");
function getCustomerInfo() {
var phone = document.getElementById("phone").value;
var url = "/include/xtr.php?phone=" + escape(phone);
request.open("GET", url, true);
request.onreadystatechange = updatePage;
request.send(null);
}
function updatePage() {
if (request.readyState == 4) {
if (request.status == 200) {
var response = request.responseText.split("|");
document.getElementById("order").value = response[0];
document.getElementById("address").innerHTML = response[1].replace(/\n/g, " ");
} else
alert("status is " + request.status);
}
}
</script>
</head>
<body>
<form action="POST">
<p>Enter your phone number:
<input type="text" size="14" name="phone" id="phone"
onChange="getCustomerInfo();" />
</p>
<p>Your order will be delivered to:</p>
<div id="address"></div>
<p>Type your order in here:</p>
<p><textarea name="order" rows="6" cols="50" id="order"></textarea></p>
<p><input type="submit" value="Order Pizza" id="submit" /></p>
</form>
</body>
</html>
|
Вопрос 1. не подгружает введенные данные, т.е. не работает, а переходит по ссылке http://xhr/POST?phone=999999999999&order=blablabla
в чем может быть ошибка?
Вопрос 2. как можно оптимизировать сей код после исправления ошибки?
Вопрос 3. где можно глубже изучить метод getElementById() ?
Вопрос 4. как происходит в данном случае обмен данными между javascript и php
Вопрос 5. как подставляется url в форму?
Думаю достаточно, спасибо! | |
|
|
|
|
|
|
|
для: Bvz
(03.07.2009 в 18:19)
| | - | |
|
|
|
|
|
|
|
для: Bvz
(03.07.2009 в 18:19)
| | Вот | |
|
|
|
|
|
|
|
для: Николай2357
(03.07.2009 в 22:27)
| | пасиб! | |
|
|
|
|
|
|
|
для: Николай2357
(03.07.2009 в 22:27)
| | спасибо за ссылку
только вот такой вопрос:
там то что передается скрипту обозначено id='myid'
мне нужно чтобыло много id
например
<form method="post" action="ghjh">
<input id='myid' ><br>
<input type="button" value="enter" onClick="Start(myid)">
</form>
<form method="post" action="ghjh">
<input id='x' ><br>
<input type="button" value="enter" onClick="Start(x)">
</form>
|
тоесть мне надо чтобы через функцию Start() передавалось какой именно id
полез в код джавы
function Start(myid) {
var query;
query ='txt='+encodeURIComponent(document.getElementById(myid).value);
Request(query);
}
|
но так оно не работает, я слабо понимаю джаву
что мне надо поменять, чтобы можно было через функцию Start() вставить в document.getElementById('myid')
нужный мне id
??
спасибо | |
|
|
|
|
|
|
|
для: Дмитрий Смаль
(10.07.2009 в 19:42)
| | | |
|
|
|
|
|
|
|
для: PAT
(10.07.2009 в 20:15)
| | спасибо, проблема в кавычках была
надо onClick="Start('myid')" - с кавычками
а в скрипте без кавычек
function Start(myid) {
var query;
query ='txt='+encodeURIComponent(document.getElementById(myid).value);
Request(query);
}
|
| |
|
|
|