- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Что делать, если ваша email-рассылка попала в спам
10 распространенных причин и решений
Екатерина Ткаченко
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте ! Использую модуль SearchFields v5.1 для DLE
У меня значения доп полей русскими словами (например "Диета для похудения")
Такая беда, если не подключать AJAX, все отлично работает, русские символы передаются в таком виде
но если подключить AJAX, то GET запрос выглядит в таком виде, а соответственно не работает:
Сам запрос выглядит так:
$(function(){$('#xf').submit(function(e){e.preventDefault();ShowLoading("Идет сортировка");var m_data=$(this).serialize();$.ajax({type:"GET",url:"/",data:m_data,success:function(data){$('#dle-content').empty($('#dle-content',data).html());$('#dle-content').prepend($('#dle-content',data).html());},error:function(data){DLEalert('Объектов, удовлетворяющих параметрам запроса, не обнаружено','Ошибка')}});HideLoading("Завершено");});});
Помогите пожалуйста, нужно чтобы значение обрабатывалось так как в 1-ом варианте, потому как хочу использовать вариант с AJAX.
Заранее спасибо.
но если подключить AJAX, то GET запрос выглядит в таком виде, а соответственно не работает:
Где вы смотрите что он выглядит в таком виде?
С запросом все нормально. Возможно дело в кодировке. Дебажте в скриптах получаемые данные.
Где вы смотрите что он выглядит в таком виде?
С запросом все нормально. Возможно дело в кодировке. Дебажте в скриптах получаемые данные.
Смотрю через консоль Хрома. Запрос выглядит так:
Failed to load resource: the server responded with a status of 404 (Not Found)
Если без ajax, то работает правильно:
Как я понял дело действительно в кодировке, она у меня cp1251, насколько я понял бразур обрабатывает и выдает в utf-8, а при get-запросе остаётся cp1251, может я и не прав. Прочитал про urlencode, но не знаю как правильно его вставить, уже по всякому перепробовал...
Долго ковырятся нет времени, но навскидку попробуйте в простыне
.............
Заменить var m_data=$(this).serialize(); на var m_data=encodeURIComponent($(this).serialize());
Заменить var m_data=$(this).serialize(); на var m_data=encodeURIComponent($(this).serialize());
Спасибо большое, но не работает, не возвращает результат, просто скрывает #dle-content
---------- Добавлено 18.01.2015 в 00:35 ----------
Пожалуйста помогите, уже все методы испробовал...
Пожалуйста помогите, уже все методы испробовал...
Какие методы? Вам же выше ответили - кодировка. И строка %D0%92%D1%81%D0%B5%20%D1%82%D0%B5%D0%BB%D0%BE это подтверждает - это utf-8.
http://javascript.ru/forum/showthread.php?p=138552
$(this).serializeArray()
Какие методы? Вам же выше ответили - кодировка. И строка %D0%92%D1%81%D0%B5%20%D1%82%D0%B5%D0%BB%D0%BE это подтверждает - это utf-8.
http://javascript.ru/forum/showthread.php?p=138552
$(this).serializeArray()
Спасибо за ответ ! Я этот топик уже читал, и честноговоря, не очень силён в javascript. Насколько я понял, мне нужно чтобы запрос шёл в cp1251, а не в utf-8. Пожалуйста, помогите мне.
Заменил $(this).serialize() на $(this).serializeArray(), не помогло, всеравно отправляет в utf-8...
Не понимаю почему, сайт у меня полностью на cp1251...
Заранее спасибо.
Насколько я понял, мне нужно чтобы запрос шёл в cp1251, а не в utf-8. Пожалуйста, помогите мне.
Примерно так. Но вам проще будет перекодировать данные в скрипте, потому что:
W3C рекомендует использовать функцию "encodeURIComponent()", которая автоматически переводит текст в utf-8 и создает escape-последовательность
siv1987, в любом случае, спасибо что уделили мне время. Похоже проблему мне не решить :(
---------- Добавлено 18.01.2015 в 01:47 ----------
А можно ли перекодировать в скрипте данную строку :
$query_string = $_SERVER['QUERY_STRING']; ?
Но вам проще будет перекодировать данные в скрипте
Открыть \engine\modules\search_xf.php
Ниже
Добавить
siv1987, СУПЕР !!! ВСЕ РАБОТАЕТ ТАК КАК НАДО ! Не знаю как Вас благодарить, проблему которую я не мог решить за 5 часов, Вы решили за 5 минут ! СПАСИБО ВАМ ОГРОМНОЕ !!!