Запустите Axios при нажатии кнопки AngularJs - PullRequest
0 голосов
/ 29 января 2019

Я работаю с AngularJs и Bootstrap.Что мне нужно, это сделать пост на API, который имеет ключ приложения и токен приложения.Сначала я попробовал с ajax, но я получаю ответ 405:

Доступ к XMLHttpRequest в 'https://thelink' from origin' http://mylink' заблокирован политикой CORS: Ответ на запрос предварительной проверки не проходит проверку контроля доступа: На запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin».

Это мой код:

       $scope.sendThis = function(){
        var destinyData = {
            "FieldId": 1,
            "Name": "Test",
            "Text": "Test",
            "IsActive": true,
            "Position": 105
        };

        $.ajax({
            url: 'thelink',
            headers: {
                'Content-Type': 'application/json',
                'API-AppKey': 'thekey',
                'AppToken': 'thetoken'
            },
            data: destinyData,
            success: function(result){
                console.log(result);
            },
            error: function(){
                console.log("Something's wrong!");
            }
        });
    }

И мой HTML-просмотр:

<button type="button" class="btn btn-primary" ng-click="sendThis()">Send</button>

Затем я прочитал, что могу использовать Axios, чтобы сделать запрос на моем бэкэнде.Итак, я установил библиотеку axios (npm axios) и протестировал:

const axios = require('axios');

axios({
    method: 'post',
    url: 'thelink',
    headers: {'Content-Type': 'application/json', 'API-AppKey': 'thekey', 'AppToken': 'thetoken'},
    data: {
        "FieldId": 113,
        "Name": "Test",
        "Text": "Test",
        "IsActive": true,
        "Position": 545
    }
})
.then(function(response){
    console.log(response);
})
.catch(function(error){
    console.log(error);
})

И это работает!Теперь мой вопрос: как я могу вызвать публикацию метода Axios по нажатию кнопки, точно так же, как мой первый тест ($scope.sendThis)?

И второй вопрос: есть способ генерировать API с Express toвызвать пример axios на NodeJs?

Надеюсь, вы поможете мне.Заранее спасибо.

Я использую Javascript, AngularJs, Bootstrap и NodeJs

...