Запрос API Rest от jira с использованием Vue Js и Query - PullRequest
0 голосов
/ 26 ноября 2018

Я пытался использовать API отдыха JIRA с помощью приложения vue js, после генерации ключа API я использовал почтальон для запуска запроса API, и он отлично работал.

Сначала я попытался использовать axiosклиент, но тогда я застрял с перекрестным происхождением, потому что запрос «Option», а не «Get».

Это был код:

axios.get(session_url, {
      headers: {'Authorization': + basicAuth }
    }).then(function(response) {
      console.log('Authenticated');
    }).catch(function(error) {
      console.log('Error on Authentication');
    });

Тогда я хотел попробовать другое решениеи установил jquery.использовал этот код:

$.ajax({ 
        url: session_url,
        async: true,
        type:'GET',
        dataType: 'json',
        contentType: 'application/json',
        beforeSend: function(xhr) {
            xhr.setRequestHeader("Authorization", "Basic "+btoa(auth));
        },
        success: function(json){
            alert('success');
        },
        error: function(err) {
          console.log(err);
        }
    });

Но это также не сработало, я обнаружил, что при использовании типа данных: 'json' запрос - это OPTION, а затем проблема перекрестного происхождения get.и когда я использую 'jsonp', запрос получает ответ 400, когда я просматриваю запрос, я не вижу запроса на аутентификацию, поэтому я могу отредактировать запрос и запустить его снова, и он работает.

Что я делаю не так?как я могу это исправить?

1 Ответ

0 голосов
/ 27 ноября 2018

Это проблема со стороны сервера, а не проблема vue-js / clientide:

ошибка перекрестного источника означает, что ваше приложение vue работает в другом домене, чем ваш веб-сервер jira (например, example.org и jira.com).В веб-сервере jira вы должны установить «cross-origin: *»

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