[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Базовый скрипт AJAX не работает
TopRider
Ребятки, подскажите в чем может быть проблема....
Решил разобраться с AJAXом и столкнулся на элементарном примере с такой неопознанной мною сложностью....

Использую метод POST

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

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

Самое интересно, что при усердном тыкани и на ссылку время от времени данные в полях проявляются на время и снова исчезают blink.gif , шо за прикол??)))) помогите плиз



Спустя 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

Спустя 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 написал(а):
Товарищи, проблема решена!!!!

http://phpforum.ru/index.php?showtopic=59325&hl=
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.