JQuery AJAX с автозаполнением из API дает ошибку - PullRequest
0 голосов
/ 19 апреля 2019

Я пытаюсь показать автозаполнение для аэропорта (код IATA с именем) Происхождение и пункт назначения из бесплатного API.когда я пытался с dataType json получаю ошибку «Cross-Origin Request Blocked» и когда я использую dataType jsonp получаю ошибку «SyntaxError: неожиданный токен: ':'"

$("#city").autocomplete({
        source: function(request, response) {
          $.ajax({
           type: "GET",
           dataType : 'jsonp',
          // cache: false,
          crossDomain:true,
          // async:false,
         contentType: "application/json; charset=utf-8",
            url: "https://iatacodes.org/api/v6/autocomplete",
    //headers: {  'Access-Control-Allow-Origin': '*' },
            /*headers: {
            'Access-Control-Allow-Origin': '*',
            'Content-Type':'application/json'
            },*/


            data: {
              api_key:"66e4db3f-e4fc-4554-b4c4-6f4d8b32ba2f",
              query: request.term
            },
            success: function(data) {alert(data);
              response(data);
            }
          });
        },
        minLength: 3,
        select: function(event, ui) {
          log(ui.item ?
            "Selected: " + ui.item.label :
            "Nothing selected, input was " + this.value);
        },
        open: function() {
          $(this).removeClass("ui-corner-all").addClass("ui-corner-top");
        },
        close: function() {
          $(this).removeClass("ui-corner-top").addClass("ui-corner-all");
        }
      });

1 Ответ

0 голосов
/ 19 апреля 2019

Чтобы разрешить API-запрос от другого домена (Cross-Origin Request Blocked), вы должны установить «Access-Control-Allow-Origin»: «*» в вашем вызове API.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...