Проблема с Ajax

Установил и настроил LS 0.3.1. Все поставилось вроде бы без проблем, ставил инсталятором. Прикрутил админ панель ручным методом и вот тут самое интересное отпал Ajax причем не могу понять причину.
Не работает ни рейтинг, ни комментирование. Комментарии добавляются после F5, по нажатию на кнопку добавления тупо висим и ждем реквеста. Тоже самое со всем, где фигурирует JsHttpRequest. В общем итоге пытаюсь вникнуть откуда костыли, так как знакомство с LS поверхностное (1 день), решил спросить тут.
Лиса говорит об ошибке.

Ошибка: JsHttpRequest: JavaScript code generated by backend is invalid!
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" lang="ru" xml:lang="ru">
<head>
<title>H81:0 / Info Stark</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />	
<!-- Styles -->
	<link rel="stylesheet" type="text/css" href="http://site.com/templates/skin/live/css/style.css?v=1" />	
<!--[if IE 6]><link rel="stylesheet" type="text/css" href="http://site.com/templates/skin/live/css/ie6.css?v=1" /><![endif]-->
	<!--[if gte IE 7]><link rel="stylesheet" type="text/css" href="http://site.com/templates/skin/live/css/ie7.css?v=1" 
/><![endif]-->
	</head>
<body>
<div id="container">
	<h1 class="lite-header"><a href="http://site.com">Live<span>Street</span></a></h1>
<div class="lite-center error">
<h1>H81:0: 404</h1>
<p> A>60;5=8N, B0:>9 AB@0=8FK =5 ACI5AB2C5B. 5@>OB=>, >=0 1K;0 C40;5=0 A A5@25@0, ;81> 55 745AL =8:>340 =5 1K;>.</p>
<p><a href="javascript:history.go(-1);">5@=CBLAO =0704</a>, <a href="http://site.com">?5@59B8 =0 3;02=CN</a></p>
</div>
</div>
</body>
</html>
Источник: 
http://site.com/classes/lib/external/JsHttpRequest/JsHttpRequest.js
Строка: 165


Апач по логу показал передачу данных и тишина.
[19/Mar/2010:08:50:54 -0400] "POST /include/ajax/commentAdd.php?PHPSESSID=6262a43219f95553a2018da3ea2ad959&JsHttpRequest=12690031070822-form HTTP/1.1" 200 459 "http://site.com/blog/music/3.html" "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6 (.NET CLR 3.5.30729)"

[19/Mar/2010:08:50:56 -0400] "POST /include/ajax/commentResponse.php?PHPSESSID=6262a43219f95553a2018da3ea2ad959&JsHttpRequest=12690031091273-xml HTTP/1.1" 404 1355 "http://site.com/blog/music/3.html" "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6 (.NET CLR 3.5.30729)"

25 комментариев

avatar
Апач говорит, что нет файла /include/ajax/commentResponse.php
  • ort
  • 0
avatar
коментарий скриптом commentAdd.php добавился на сколько я понял, а commentResponse.php должен вернуть ответ судя по названию. Подскажите хоть на что грешить.
avatar
commentResponse.php файл физически существует, права аналогичные с рядом лежащим commentAdd.php
avatar
причем по get-запросу файл видится, а вот на post почему-то 404.
Могут быть костыли в апаче?
avatar
А страница 404 у тебя вот такая вся из себя «кривая» выдается? Странная она какая-то
А вообще метод POST работает? Только аяксом не проходит? Только с этим файлом проблемы или с другими тоже? А firebug что показывает? Что и по какому адресу отправляет, чего получает в ответ?

Каких-то конкретных идей нет, что это может быть, это надо сидеть и методично ковырять, нада сначала локализовать проблему, а потом искать причины и т.д.
avatar
попробуй в конфиге апача отключить опцию MultiViews
  • ort
  • 0
avatar
Options -MultiViews
Не помогло.
avatar
post работает, первая запись в логе апача об этом говорит и я нормально авторизируюсь, добавляю топики.
Все что
/public_html/include/ajax/
Реквест назад не шлет.

Фаербуг ничего нового не показал.
Ошибка в 398 строке JsHttpRequest
xr.send(this.queryText); 



Заголовки ответа
Date	Sat, 20 Mar 2010 09:29:33 GMT
Server	Apache/2.2.15 (Unix) mod_ssl/2.2.15 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 PHP/5.2.13
X-Powered-By	PHP/5.2.13
Expires	Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control	no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma	no-cache
Set-Cookie	LANG_CURRENT=deleted; expires=Fri, 20-Mar-2009 09:29:32 GMT; path=/ LANG_CURRENT=deleted; expires=Fri, 20-Mar-2009 09:29:32 GMT; path=/
Content-Length	1355
Keep-Alive	timeout=5, max=100
Connection	Keep-Alive
Content-Type	text/html; charset=utf-8

Заголовки запроса
Host	site.com
User-Agent	Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.8) Gecko/20100202 Firefox/3.5.8
Accept	text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language	ru,en-us;q=0.7,en;q=0.3
Accept-Encoding	gzip,deflate
Accept-Charset	windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive	300
Connection	keep-alive
Content-Type	application/octet-stream; charset=UTF-8
Referer	http://site.com/blog/music/3.html
Content-Length	12
Cookie	key=bc1b1b17d2a0b91d9b8c576b32b9db10; PHPSESSID=4a6c58ff4f4762fff277259852cf1000


Может из-за
xr.setRequestHeader("Content-Type","application/octet-stream"); 

Апач не знает такой контент тайп, и посылает потому?
avatar
get запросы ajax тоже 404.
avatar
попробовал напрямую к скрипту сформировать get запрос:
отвечает:
{"id":"12691002760030","js":null,"text":"Hacking attemp!"}
avatar
Что значит «напрямую»?

И что за «Ошибка в 398 строке JsHttpRequest»?

Видимо, какие-то проблемы с объектом XMLHttpRequest() у тебя, но какие — хз
avatar
это означает что беру урл из фаер бага отсылки get запроса например те же самые «Прямой эфир — Публикации» и на который получен 404 ответ, вставляю в адресную строку браузера жмакаю энтер ) и скрипт отвечает.
avatar
Странная получается фигня — если запрос из браузера «прямой», то файл находится и реагирует, как положено, а аяксом из этого же браузера тот же самый файл он не может получить. Из других браузеров смотрел (у тебя, как понимаю, фф)? Если из других работает, то, возможно, проблема в каких-то плагинах фф.
avatar
это из-за того, что не передаётся referer
проблема во всех браузерах?
avatar
когда передается реферер -404
когда нет реферера — ответ есть, скрипт говорит о том что сработала защита против хрюкеров.
avatar
Это что получается: есть реферер — есть запрашиваемый фал, нет реферера — нет файла? Ничо не понимаю :(

А в .htaccess нет никакой крамолы?
avatar
И да ошибка во всех 5 броузерах
avatar
можете сами попробовать infostark.com
avatar
А он, между прочим, и зарегаться не дает:
Ошибка: Неверный код
avatar
новый симптом, 3 пользователя как только установил смогли зарегистрироваться. Значит что-то отпало еще или я конфиг перемучал до такой степени что и регистрация отпала.
avatar
Залил старый конфиг, можно регистрироваться.
Для ленивых.
логин suslik
пароль suslik
avatar
.htaccess
php_value default_charset «utf-8»
php_flag always_populate_raw_post_data On
#php_flag display_errors Off
#php_value memory_limit 64M

AddDefaultCharset utf-8
AddCharset utf-8 *
<IfModule mod_charset.c>
CharsetSourceEnc utf-8
CharsetDefault utf-8


Options -Indexes
Options -MultiViews

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php

AddType application/octet-stream xml.POST
AddType multipart/form-data form.POST
AddType application/x-www-form-urlencoded script.*, xml.GET, form.GET
avatar
Предыдущий пост с .htaccess сотрите, он криво вставился

.htaccess

php_value default_charset "utf-8"
php_flag always_populate_raw_post_data On
#php_flag display_errors Off
#php_value error_reporting 8191
#php_value memory_limit 64M
AddDefaultCharset utf-8
AddCharset utf-8 *
<IfModule mod_charset.c>
    CharsetSourceEnc utf-8
    CharsetDefault utf-8
</IfModule>

Options -Indexes
Options -MultiViews

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php

AddType application/octet-stream xml.POST
AddType multipart/form-data form.POST
AddType application/x-www-form-urlencoded script.*, xml.GET, form.GET

avatar
Позволь дурацкий вопрос — а со стандартным .htaccess пробовал?

Выпендриваться не буду — я не большой спец в настройках .htaccess, но меня вот это, например, смущает:
AddType application/octet-stream xml.POST

Учитыая, что запрос аяксом идет как раз чз application/octet-stream
avatar
protocol.txt Для JsHttpRequest.js там в самом конце про эти заголовки указано.
И я стартовал с чистого .htaccess который шел с LS, это потом с бубном второй день пляшу, пытаюсь узнать где падает, соотв. и .htaccess ростет.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.