[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: AJAX & url
Romms
Всем хорошего вечера!

Вот уже пол дня мучаюсь из передачей данных через УРЛ с помощью AJAX

Использую кодировку UTF-8

var url = "http://site.ua/ajax/photo/"+code+p_photosId[i];
if (code==3) url+="/"+encodeURIComponent(text);

photoXmlHttp.open("GET",url,true);
photoXmlHttp.setRequestHeader("Content-type", "text/xml;charset=UTF-8"); //даже кодировку GET`а задал :D
photoXmlHttp.send(null);
photoXmlHttp.onreadystatechange = function() {...


И вот я смотрю через ФаєрБаг следующую картину:
1. Запрос по адресу http://site.ua/ajax/photo/3191/%20some%20text%2F%2F%0A
как бы в оригинале это " some text//"
2. Отвечает мне сервер доброжелательным сообщением:
The requested URL /ajax/photo/3191/ some text// was not found on this server.

а вот почему именно так??

А да... у меня единственная точка входа, все идет на index.php, а потом в зависимости от УРЛа подключаются разные странички. Так вот, этот запрос к index.php не доходит(



Спустя 13 минут, 8 секунд (3.10.2011 - 00:02) Winston написал(а):
А если попробовать переписать так
var url = "http://site.ua/ajax/photo/" + code + '/' + p_photosId[i] + '/';
if(code==3)
url += encodeURIComponent(text);


Или сделать проверку типа
var url = "http://site.ua/ajax/photo/" + code + '/' + p_photosId[i] + '/';
alert(url);

if(code==3)
url += encodeURIComponent(text);

alert(url);

Поэкспериментировать с добавление слешей...

Спустя 9 минут, 49 секунд (3.10.2011 - 00:11) Romms написал(а):
Да вот если дописать к УРЛу "%2f" то есть "/" только в обработке encodeURIComponent() то и серевер начинает матерится...

значит у нас неправильный редирект в .htaccess...
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php?route=$1 [L,QSA]


То есть посылаем юзера на index.php если указана не дериктория и не файл... а вот когда я его спрашиваю "http://site.ua/ajax/photo/3191/%20some%20text%2F%2F%0A" он думает что это директорию я его спросил и отвечает соответственно.

Как быть?

-------
количество простых "/" не играет никакой роли...

Спустя 12 минут, 10 секунд (3.10.2011 - 00:24) Winston написал(а):
Цитата (Romms @ 3.10.2011 - 00:11)
а вот когда я его спрашиваю "http://site.ua/ajax/photo/3191/%20some%20text%2F%2F%0A" он думает что это директорию я его спросил и отвечает соответственно.

some text я так понял, что это имя картинки? А так как ты не указываешь расширение он и думает, что это директория.
Может попробовать расширение приписать ?

Спустя 9 минут, 33 секунды (3.10.2011 - 00:33) Romms написал(а):
Winston, да нет. Это просто запрос к серверу, передача данных о фото.

если после %2f задать расширения .php или что то иное, то єто никакой роли не имеет.


а если запросить существующий файл http://сайт.ua/imgs/ok.png следующим образом: http://matvei.ua/imgs%2fok.png, то сервер отвечает: The requested URL /imgs/ok.png was not found on this server.

Спустя 6 минут, 28 секунд (3.10.2011 - 00:40) Winston написал(а):
Значит нужно как-то добиться того, чтобы слеши не были url-кодированными
http://matvei.ua/imgs/ok.png



Спустя 55 секунд Winston написал(а):
URL-Кодировать нужно любые данные, но не слеши.

Спустя 11 минут, 22 секунды (3.10.2011 - 00:51) Romms написал(а):
Winston, biggrin.gif
Єто мне звучит типа так: а вот чтобы здесь двери поставить нужно фундамент на камни положить... а том то уже соорудили unsure.gif

Но я не верю что у меня одного така проблема... неужели никто не передавал с помощью AJAX произвольный текст где были допустимыми "/" ??

А можно как-то настроить апатч на иной способ "парсирования" урла? Вожзможно там нужно что-то типа кодировки указать? ph34r.gif ph34r.gif ph34r.gif

Спустя 6 часов, 55 минут, 7 секунд (3.10.2011 - 07:46) Romms написал(а):
Самое печальное, а может и радостное, что убрав
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

(то есть всегда посылать на индекс.пхп) до нас так и не доходит этот запрос :blink:

я в заблуждении... неужели баг? Баг апача... Почему? Ведь в .htaccess есть строка
ErrorDocument 404 /404.html

на которую сервер при нашем запросе не обращает внимания... буду обновлять апатч :unsure:

Спустя 7 часов, 40 минут, 22 секунды (3.10.2011 - 15:26) Romms написал(а):
up!
Быстрый ответ:

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