Не успевает выполнится скрипт

fire-one

Новичок
Не успевает выполнится скрипт

Добрый день


PHP:
	var params = "text=" + encodeURI(text) + "&type=" + encodeURI(type) + "&item=" + encodeURI(item);

	var request;
	request = new XMLHttpRequest();
	request.open("POST", "comment.php", true);
	request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	request.send(params);
	
	ajax_loadContent('comments','load_comments.php?type=' + type + '&item=' + item);
Как вы видите - у меня два скрипта.
Первому comment.php передаются методом POST данные и добавляются в БД
Второй скрипт load_comments.php загружает данные из БД.

Проблема в том, что данные которые загружаются вторым скриптом не содержат результатов работы первого.

Как можно решить эту проблему ?

З.Ы. Совмещать эти два скрипта не очень хочется.
 

fire-one

Новичок
2 Gas
Очевидно. Только как проверить отработал первый или нет ?
 

Gas

может по одной?
Например, вызывать ajax_loadContent в callback функции первого запроса.
 

fire-one

Новичок
я в JS ноль
можно подробнее куда этот callback вставить

-~{}~ 28.01.08 16:14:

PHP:
request.open("POST", "comment.php", true);
а что здесь означает третий параметр ?
 

RoLex

Новичок
совет, ознакомься сначала с технологией Ajax, а потом применяй его, а не наоборот.

переписывать мануалы сюда тебе никто не будет.
изучи, попробуй сделать, и только если что-то не получается, задавай вопросы. тогда тебе ответят.
а не такие "что значит 3й параметр".
 

fire-one

Новичок
третий параметр помог

The third parameter sets whether the request is asynchronous. If TRUE, the execution of the JavaScript function will continue while the response of the server has not yet arrived. This is the A in AJAX.
 

ds [.code]

Новичок
fire-one, смысла в синхронном запросе мало - зачем системе подвисать, пока там кто-то данные получит. Все же, эффективней воспользоваться callback'ом - обычная функция (в Вашем случае она будет содержать вызов второго запроса), которую нужно вызвать, когда запрос отработал (т.е. readystate == 4, ну и плюс, можно, статус == 200)
 
Сверху