Я работаю с 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