Решил разобраться с AJAXом и столкнулся на элементарном примере с такой неопознанной мною сложностью....
Использую метод POST
По нажатию на ссылку c помощью AJAX осуществляется обработка php скрипта, в котором происходит выборка данных с базы MySQL в последующим размещением данных в полях input. И вот значит в чем проблема:
в интерактивном режиме Dreamwiever запрос четко отрабатывается и выдает правильный результат, но при проверке на остальных браузерах результата нет.
Самое интересно, что при усердном тыкани и на ссылку время от времени данные в полях проявляются на время и снова исчезают

Спустя 6 минут, 6 секунд (23.03.2012 - 13:26) Игорь_Vasinsky написал(а):
качаем Google Chrome, устанавливаем, открываем сайт, жмём F12 - глядим в консоль - 404 - не правильно указан путь к скриптам, ошибки JS
Спустя 6 минут, 16 секунд (23.03.2012 - 13:33) TopRider написал(а):
- refused to set unsafe header "Connection"
и то на долю секунды!!
и то на долю секунды!!
Спустя 10 минут, 39 секунд (23.03.2012 - 13:43) Visman написал(а):
TopRider, а ты заголовок Connection ручками формируешь?
Спустя 7 минут, 56 секунд (23.03.2012 - 13:51) TopRider написал(а):
ага
- ajax.open("POST","gethint.php",true);
заголовок "Connection" передается, это делает метод .open
- ajax.open("POST","gethint.php",true);
заголовок "Connection" передается, это делает метод .open
Спустя 5 минут, 16 секунд (23.03.2012 - 13:57) Visman написал(а):
Люди пишут
Цитата |
Сделать заголовок безопасным можно, не добавляя атрибуты Content-length и Connection. Сообщение об отказе использования атрибута при формировании заголовка консоль выдает, если атрибут потенциально опасен. Подобные атрибуты могут быть использованы при атаке типа HRS (HTTP Request Smuggling), т.е. при контрабанде HTTP-запросов. Поэтому современные браузеры не включают в заголовок такие атрибуты при ручном формировании, а добавляют их автоматически, используя собственные настройки. Например, длину пересылаемого значения Content-length браузер определяет сам по размеру данных, передаваемых функции send(). |
Спустя 21 минута, 25 секунд (23.03.2012 - 14:18) TopRider написал(а):
именно поэтому Content-length я и не добавляю
Так вот не могу понять в чем дело, такое чувство что данные передаются а потом сразу затираются.....вот код если он что-то даст:
Так вот не могу понять в чем дело, такое чувство что данные передаются а потом сразу затираются.....вот код если он что-то даст:
var ajax=null;
function getAjax()
{
if (window.ActiveXObject) // для IE
return new ActiveXObject("Microsoft.XMLHTTP");
else if (window.XMLHttpRequest)
return new XMLHttpRequest();
else {
alert("Browser does not support AJAX.");
return null;
}
}
function ajaxFunction(id)
{
ajax=getAjax();
var param;
if (ajax != null)
{
ajax.open("POST","gethint.php",true);
param="id="+id;
ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
ajax.setRequestHeader("Connection", "close");
ajax.onreadystatechange = function(){
if(ajax.readyState==4 && ajax.status==200)
{ var arr=ajax.responseText.split('&');
document.getElementById('OtvetPodrazdel').value=arr[0];
document.getElementById('Termin').value=arr[1];
}
}
ajax.send(param);
}
}
Спустя 11 дней, 1 час, 1 минута, 8 секунд (4.04.2012 - 15:19) TopRider написал(а):