Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 14.11.2014
Сообщений: 2

Настройка autocomplete c кроссдоменным ajax запросом

15.11.2014, 11:32. Показов 1780. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пытаюсь настроить autocoplete c кроссдоменным ajax запросом. Запрос отправляется на другой домен, в ответ приходят данные в формате JSON такого вида [{"name":"название","local":призна к принадлежности,"countryCode":20},{"n ame ........] В таком варианте кода браузер не делает запрос. Может кто знает, как запустить.
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
    <html>
    <head>
       <meta charset="utf-8">
      <title>autocomplete demo</title>   
 <link rel="stylesheet" href="http://code.jquery.com/ui/1.11.2/themes/smoothness/jquery-ui.css">
    <script src="http://code.jquery.com/jquery-1.10.2.js"></script>
      <script src="http://code.jquery.com/ui/1.11.2/jquery-ui.js"></script>
     
    </head>
     
    <body>
    <label for="autocomplete">Select: </label>
    <input id="autocomplete">
    <script>
        $("#autocomplete").autocomplete(
          {
          source: function(request, response) {
              $.getJSON("https://discovery.gdbilet.ru/Rzhd/Train/SearchStation",
                {
                limit: 10,
                q: request.term
                }
              )
              .done(function(data)
                {
                  response($.map
                    (data, function(item)
                      {
                        return {
                        value: item.name,
                        label: item.name
                        }
                      }
                    )
                  );
                }
              );
            },
          minLength: 2,
          cache: false
          }
        );
    </script>
    </body>
    </html>
еще пробовал такой вариант
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$.ajax({
           url: "https://discovery.gdbilet.ru/Rzhd/Train/SearchStation",
       dataType: "jsonp",
          data: {
            limit: 10,
                    q: request.term
          },
          success: function(data) {
            response($.map(data, function(item) {
              return {
               value: item.name,
                   label: item.name
              }
            }));
          }
        });
      },
    });
В таком варианте запрос отправляется и даже ответ приходит, но autocomplete все равно не пашет.

Добавлено через 16 часов 22 минуты
У кого нибудь есть мысли?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.11.2014, 11:32
Ответы с готовыми решениями:

Starting jQuery autocomplete immediately after my Ajax call to server
Прошу прощения, что задаю вопрос на английском. Русский язык понимаю плохо, поскольку сам из Болгарии. Вот моя проблема: В...

Отправка JSON запроса, autocomplete, Spring form tags - autocomplete
Здравствуйте, пытаюсь решить такую задачу: Нужно создать autocomplete поле выбора города. Но кроме этого так же каким то образом после...

Ошибка c Ajax запросом
Всем добрый вечер. В странице есть несколько ajax запросов, почти что одинаковых. Все запросы работают корректно кроме одного. Ни как...

3
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
15.11.2014, 15:12
Цитата Сообщение от Aj-nik Посмотреть сообщение
У кого нибудь есть мысли?
Мысли есть, а вот решение вашей проблемы - только с костылём. Если устраивает, то делаем следующее.
1. Обработчик запроса (handler.php). Он должен находится у вас на сервере:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
<?php 
if(isset($_GET['q'])){
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL,'https://discovery.gdbilet.ru/Rzhd/Train/SearchStation?q='.$_GET['q']);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER,1);
    curl_setopt ($curl, CURLOPT_SSL_VERIFYPEER, 0);
  curl_setopt ($curl, CURLOPT_SSL_VERIFYHOST, 0);
    $out = curl_exec($curl);
    curl_close($curl);
    exit( $out );
}
exit(false);
2. Код JS
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
$(function () {
    $("#autocomplete").autocomplete({
        source: function (request, response) {
            $.ajax({
                url: './handler.php',
                dataType: 'json',
                data: {
                    limit: 10,
                    q: request.term
                },
                success: function (data) {
                    response($.map(data, function (item) {
                        return {
                            value: item.name,
                            label: item.name
                        };
                    }));
                },
                error: function (req, text, error) {
                    alert('Ошибка AJAX: ' + text + ' | ' + error);
                }
            });
        },
        minLength: 3
    });
});
Внимательно проследите, чтоб путь к обработчику, указанный в параметре url был правильный. На всякий случай - код полностью рабочий.
1
0 / 0 / 0
Регистрация: 14.11.2014
Сообщений: 2
16.11.2014, 19:47  [ТС]
Вроде разобрался. Я так понял что ssl не позволяет делать такие запросы. А с сервера можно отправлять что угодно. Спасибо большое.
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
16.11.2014, 20:06
Цитата Сообщение от Aj-nik Посмотреть сообщение
Я так понял что ssl не позволяет делать такие запросы
Нет, дело тут не в SSL, а в том, что данные, которые возвращает сервер не корректные. Если бы вы включили вывод ошибок (параметр error в $.ajax()) , то увидели, что ругается на то, что ошибка во время парсинга.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.11.2014, 20:06
Помогаю со студенческими работами здесь

Калькулятор с ajax запросом
Народ, всем привет, нужна помощь. Делаю калькулятор. При вводе 010/2 выводит результат 4, соответственно я так понял программа считает 010...

Проблема с ajax запросом
Есть два файла js ajax.js и main. js function doAjax(request){ let xhr = new XMLHttpRequest(); if (request.method ===...

Работа с AJAX запросом
Доброе врем суток коллеги подскажите как можно исправить мою ошибку: &lt;script&gt; window.onload = function (){ ...

Парсинг контента с AJAX запросом
Здравствуйте! Для парсинга использую библиотеку jsoup. С сайта нужно спарсить контент, который приходит после AJAX запроса, как...

Связь между ajax запросом
уже в четвертый раз задаю один и тот же вопрос на форуме. Стыдно самому, но ответа я так и не нашел! Коротко суть проблемы имеется код для...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru