Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / AJAX запрос в Internet Explorer срабатывает через раз / 5 сообщений из 5, страница 1 из 1
13.11.2012, 00:08:39
    #38035494
nikolayseo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AJAX запрос в Internet Explorer срабатывает через раз
Здравствуйте,

JS.js

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
$('#object').live('change', function (){
	
var realty = $('#realty').val();


$.ajax({
	
  url:"/ajax/ajax.php",
  type: "POST",
  data: ({realty:realty}),
  error: function (jqXHR, textStatus, errorThrown) {alert(textStatus + errorThrown);},  
  success: function(data) {
  if (data == '') {$('#information_object').html();} else {$('#information_object').html(data);}
  
  }
});
});




ajax.php

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<?php

include_once("../database.php");
header("Content-type: text/html; charset=utf-8");

if (!empty($_POST['realty'])) {
$result = mysql_query ("SELECT id, value FROM object WHERE id_realty = '".mysql_real_escape_string($_POST['realty'])."'");
while ($myrow = mysql_fetch_assoc($result))
{echo "<option id='".$myrow['id']."' value='".$myrow['id']."'>".$myrow['value']."</option>\n";}
}
?>




В Jquery полный профан. Но тем не менее в ФФ, ХРОМ, ОПЕРА все летает и работает так как мне нужно.

Но дело обстоит иначе с IE (8,9) запрос срабатывает, НО, через раз. При событии change по селекту браузер блокируется секунд на 5 ... со второго или третьего раза запрос срабатывает, в остальных случаях срабатывает калбек функция error c ошибками вида: 12152 error или ErrorInternal Server Error.

У хостера порядок вроде сказал. В логах сервера ошибки вида: (70007)The timeout specified has expired: mod_fcgid: can't get data from http client, referer:
...
Рейтинг: 0 / 0
13.11.2012, 00:31:55
    #38035514
Паганель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AJAX запрос в Internet Explorer срабатывает через раз
Вы на своем компьютере (а не на хостинге) это повторить можете?
Откройте DevTools (закладку Network) и посмотрите, когда какие запросы уходят с клиента на сервер и как он на них отвечает (см. также хедеры)
Поставьте точки останова в своем php-коде (NetBeans или что у Вас там) и поотлаживайте его
...
Рейтинг: 0 / 0
13.11.2012, 21:40:46
    #38037056
nikolayseo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AJAX запрос в Internet Explorer срабатывает через раз
ПаганельВы на своем компьютере (а не на хостинге) это повторить можете?
Откройте DevTools (закладку Network) и посмотрите, когда какие запросы уходят с клиента на сервер и как он на них отвечает (см. также хедеры)
Поставьте точки останова в своем php-коде (NetBeans или что у Вас там) и поотлаживайте его

Спасибо. Покавырялся в DevTools. Из-за скудных знаний отладить с использованием точек останова у меня точно не получается.
Дело в том что из обработчика я убрал все исполняемые операции, сделал одну единственную echo"GOOD!", и начинаю подавать запрос к обработчику каждые 2-3 секунды и вот, на 5-6 запрос сервер как будто включает защиту от "флуда" и скрипт выкидывает ошибку.

Данные из DevTools во время запроса с ошибкой:

Заголовки запроса:
Запрос POST /ajax/object.php HTTP/1.1
Accept */*
Content-Type application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With XMLHttpRequest
Referer http://www.*******.ru/cabinet/add/
Accept-Language ru
UA-CPU AMD64
Accept-Encoding gzip, deflate
User-Agent Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Host www.*********.ru
Content-Length 8
Connection Keep-Alive
Cache-Control no-cache
Cookie PHPSESSID=1n2p7b1vtqnnavq57ne1saerd4


Заголовки ответа:

Ключ Значение
Ответ HTTP/1.1 500 Internal Server Error
Date Tue, 13 Nov 2012 17:25:01 GMT
Server Apache/2.2.16 (Debian)
Connection close
Content-Type text/html; charset=iso-8859-1


Текст ответа:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>500 Internal Server Error</title>
</head><body>
<h1>Internal Server Error</h1>
<p>The server encountered an internal error or
misconfiguration and was unable to complete
your request.</p>
<p>Please contact the server administrator,
support@---.ru and inform them of the time the error occurred,
and anything you might have done that may have
caused the error.</p>
<p>More information about this error may be available
in the server error log.</p>
<hr>
<address>Apache/2.2.16 (Debian) Server at www.svoyrieltor.ru Port 80</address>
</body></html>

Эти данные могут как то помочь в решении проблемы ?
...
Рейтинг: 0 / 0
14.11.2012, 00:19:20
    #38037220
Паганель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AJAX запрос в Internet Explorer срабатывает через раз
nikolayseoИз-за скудных знаний отладить с использованием точек останова у меня точно не получаетсяРекомендую сходить на форум по PHP и спросить "как поставить точку останова в среде разработки такой-то"

nikolayseoЭти данные могут как то помочь в решении проблемы ?nikolayseoMore information about this error may be available
in the server error log.больше ничего полезного не вижу
опять же, на форуме по PHP Вам, думаю, охотно подскажут где найти лог Apache

сам же я разрабатываю на Asp.NET, так что к сожалению больше ничем помочь не могу...
...
Рейтинг: 0 / 0
14.11.2012, 12:56:10
    #38037756
No_registration
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AJAX запрос в Internet Explorer срабатывает через раз
Попробуйте отключить кэширование ajax запросов.
Если не изменяет память, то делается это как-то так
Код: javascript
1.
2.
3.
4.
5.
6.
7.
$.ajax({
  url: "test.html",
  cache: false,
  success: function(html){
    $("#results").append(html);
  }
});
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / AJAX запрос в Internet Explorer срабатывает через раз / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]