| 
 Изменить ответ сервера ajax ВСем привет а как можно при помощи ajxa послать запрос и при получении ответа прежде чем ответ попадет в скрипт его изменить??:) :) :) | 
| 
 Ажно три колобка нарисовали, так было смешно, да? | 
| 
 kostyanet, Вобщет это не смех а довольное лицо | 
| 
 Цитата: 
 чую я что-то плохое вы задумали ;) | 
| 
 http://learn.javascript.ru/ajax-xmlhttprequest 
// 1. Создаём новый объект XMLHttpRequest
var xhr = new XMLHttpRequest();
// 2. Конфигурируем его: GET-запрос на URL 'phones.json'
xhr.open('GET', 'phones.json', true);
// 3. Отсылаем запрос
xhr.send();
// 4. Если код ответа сервера не 200, то это ошибка
if (xhr.status != 200) {
  // обработать ошибку
  alert( xhr.status + ': ' + xhr.statusText ); // пример вывода: 404: Not Found
} else {
  // вывести результат
  alert( 'Пришел ответ: ' + xhr.responseText ); // responseText -- текст ответа.
}
Что имеется в ввиду Цитата: 
 | 
| 
 Цитата: 
 | 
| 
 KosBeg, Цитата: 
 Сначало в браузер а браузер передает параметры в js  Да и кстати разрешаю эту схему вставлять в учебники и размещать у себя на сайтах! | 
| 
 Цитата: 
 Цитата: 
 | 
| 
 Не так. Стрелка от улья с надписью SavaSecipt тоже идет сперва к браузеру, ибо от него мы кормимся объектом XMLHttpRequest. Короче данные приходят - делайте с ними что угодно в скрипте. Других мест нету. Из этого скрипта передавайте в другой - все как обычно. | 
| 
 gam0ra, То что ты нарисовал на схеме -- это ни о чем. *концептуально* у тебя есть 2 актора -- клиент и сервер, которые обмениваются сообщениями. javascript, браузер, сеть, компьютеры, etc -- это детали реализации, которые не должны тебя, в данном случае интересовать. Поэтому, схема проще: клиент <-текст-> сервер. В нашем случае, клиент -- это тот, кто всегда запрашивает, а сервер -- кто всегда отвечает. Что касается твоего вопроса, то, в ответ ajax попадает строка, и ты с этой строкой можешь делать все что угодно. | 
| 
 KosBeg, Ваш пример не совсем корректен, по моему. Если получен статус 200, это еще не значит, что весь ответ получен. К тому же, асинхронный запрос, как в Вашем примере, требует определить коллбек onreadystatechange | 
| 
 Цитата: 
 status >= 200 && status < 400 | 
| 
 Цитата: 
 Цитата: 
 | 
| 
 Это похоже на узоры. Чтоб код красивее был, орнамент такой. Нет никакого смысла проверять статус, ибо из всех статусов вы получите только разрешенные, и разрешенные вам ничего не дадут, ибо ваши скрипты все равно заточены на проверку условленной переменной в ответе. Ну хорошо, допустим if(status==500) сравните if(responseText.lenght<1) Теоретически в респонзе может что-то быть и нужно проверить 500, но где вы такое видели на практике? Статусы редиректов вообще до скрипта не доходят. | 
| 
 Передавайте все в json'е, несмотря на химерические рекомендации не передавать хтмл в жисоне. Выглядит бредово, зато работает: 
try{
  var data=JSON.parse(this.responseText);
}
catch(e){
  /* do somethin */
}
если в ответе нет нормального формата жисона, значит либо он пустой, либо пришел с другого места, скажем с сообщения об ошибке, об отсутствии и тп. Внутри катча можно захотеть получить уже статус и типа типа принять то или иное решение. ЗЫ Еще раз. Если бы браузер без базаров пропускал все заголовки до скрипта - это была бы другая технология, настоящая и под нее можно было бы написать нормальные библиотеки. Но поскольку пропускается только часть - ради этой части не стоит и дрыгаться. Трай-кач на клиенте сделает все что требуется и без гемора со статусами. | 
| 
 Цитата: 
 | 
| 
 Цитата: 
 Цитата: 
 
var xhr = new XMLHttpRequest();
xhr.open('GET', 'phones.json', true);
xhr.send();
xhr.onreadystatechange = function() {
  if (xhr.readyState != 4) return; // эта штука не даст вывести часть ответа пока ответ полностью не загрузится =)
  alert( 'Пришел ответ: ' + xhr.responseText );
}
 | 
| 
 Цитата: 
 | 
| Часовой пояс GMT +3, время: 15:24. |