Я пытаюсь получить данные из моего Python RESTfull API, реализованного во Flask, и я настроил следующий код.
tasks = {
'1' : 'Learn',
'2' : 'Build',
'3' : 'Apply',
'4' : 'Succeed'
}
@app.route('/alltasks')
def get_tasks():
return jsonify(tasks)
Маршрутизация работает отлично, когда я вводю необработанный URL-адрес в строке URL-адреса как http://127.0.0.1:5000/alltasks
, и он отображает данные JSON
{
"1": "Learn",
"2": "Build",
"3": "Apply",
"4": "Succeed"
}
Проблема в том, что япытаясь получить доступ к данным из моего приложения Vue.js, но Chrome и другие браузеры продолжают выдавать мне эту ошибку:
Блокировка перекрестного чтения (CORB) заблокировала ответ перекрестного источника http://127.0.0.1:5000/alltasks сПриложение MIME типа / JSON.См. https://www.chromestatus.com/feature/5629709824032768 для более подробной информации.
Я подтвердил, что API делает то, что должен, потому что я сделал фиктивный маршрут, который только что возвратил сообщение:
@app.route('/hi')
def say_hello():
return 'Thank you for checking out my API'
, и Vue принял его очень хорошо, и он отображался в сетиСредства диагностики в Chrome.Это код, использующий Axios:
created: function() {
this.loadAllTasks();
},
methods: {
loadAllTasks: function () {
alert('At it');
axios.get('http://127.0.0.1:5000/alltasks')
.then(function(res, req){
alert(res);
});
}
Функция оповещения не выполняется, поскольку выдается ошибка.
Теперь я знаю, что был задан этот вопрос , и большинство ответов заключалось в том, чтобы запустить Chrome и отключить веб-безопасность, но действительно ли вы думаете, что каждый пользователь собирается это делать?
Что является причиной ошибки и какие библиотеки я могу использовать или модификацию кода я могу сделать, чтобы исправить ее?