Показать сообщение отдельно
  #1 (permalink)  
Старый 08.08.2012, 17:42
Профессор
Отправить личное сообщение для bpystep Посмотреть профиль Найти все сообщения от bpystep
 
Регистрация: 06.08.2010
Сообщений: 161

выполнить определенную функцию php из javascript
Добрый день, начал изучать ajax только сегодня. И появился вопрос.

scripts.js:
function insertDataAdd(id) {
	var text = '<select id="size">'+ajax()+'</select>';
	document.getElementById('collapse'+id).innerHTML = text;
}

function ajax() {
	var req = getXmlHttp();
	
    req.open('GET', 'js/ajax.php', true); 
    req.send(null);
	
	req.onreadystatechange = function() { 
        if (req.readyState == 4) {
            if (req.status == 200) {
                document.getElementById('size').innerHTML = req.responseText;
            }
        }
    }
}

function getXmlHttp(){
  var xmlhttp;
  try {
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (e) {
    try {
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (E) {
      xmlhttp = false;
    }
  }
  if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
    xmlhttp = new XMLHttpRequest();
  }
  return xmlhttp;
}


ajax.php
include('dbinfo.php');
$query = mysql_query("SELECT * FROM size");
	$result = mysql_fetch_array($query);
if ($result != "") {		
	do {
$sizes .= "<option>".$result[width]."/".$result[height]."/".$result[radius]."</option>";
	}
	while ($result = mysql_fetch_array($query));	
}
echo $sizes;


Собственно теперь вопрос: как сделать так, чтобы выполнялась определенная функция из ajax.php, т.е. я хочу переписать ajax.php вот так:

ajax.php
include('dbinfo.php');

function getSizes() {
	$query = mysql_query("SELECT * FROM size");
		$result = mysql_fetch_array($query);
	if ($result != "") {		
		do {
			$sizes .= "<option>".$result[width]."/".$result[height]."/".$result[radius]."</option>";
		}
		while ($result = mysql_fetch_array($query));	
	}
	echo $sizes;
}


Я предполагаю, что нужно изменить здесь:

req.open('GET', 'js/ajax.php', true); 
req.send(null);


но не знаю как, подскажите как сделать или где почитать про req.open() и req.send()? Гуглил и искал на сайте, но что-то не нашел нужной мне информации.

Последний раз редактировалось bpystep, 08.08.2012 в 17:46.
Ответить с цитированием