Ошибка API Flask; Произошла ошибка: 415 Неподдерживаемый тип носителя: - Тип контента не был «application/json».Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Ошибка API Flask; Произошла ошибка: 415 Неподдерживаемый тип носителя: - Тип контента не был «application/json».

Сообщение Anonymous »

Итак, я работаю над проектом со своим другом, и мы столкнулись с проблемой. У меня есть переменная в JavaScript, и она мне нужна в Python, поэтому я создал колбу и запрос на публикацию, но при ее запуске у меня возникает ошибка. Я пробовал искать другие места и пробовал другие решения, но ни одно из них не работает. Может ли кто-нибудь увидеть мою ошибку?
Python:

Код: Выделить всё

@app.route('/receive-data', methods=['POST'])
def receive_data():
data = request.get_json()  # Use request.get_json() to explicitly parse JSON
if data is None:
return jsonify({"error": "Invalid content type or empty payload"}), 400

variable = data.get('variable')
print(f"Received variable from JavaScript: {variable}")
return jsonify({"status": "success", "received_variable": variable})

if __name__ == '__main__':
app.run(debug=True)
Javascript:

Код: Выделить всё

var audioControls = document.getElementById("audioControls");

let currentSong = null
let audioElement = document.getElementById("audio");
audioElement.src = currentSong
let beatcheckbox = false
let clonecheckbox = false

document.getElementById("beatcb").addEventListener("change", function() {
var bcheckbox = document.getElementById("beatcb");

// Check if the checkbox is checked
if (bcheckbox.checked) {
console.log("beat checkbox is checked");
beatcheckbox = true
// The variable you want to send to Python
const myVariable = beatcheckbox;

// Send the variable using fetch
fetch('http://127.0.0.1:5000/receive-data', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Charset': 'UTF-8',
'Accept': 'application/json'
},
body: JSON.stringify({ variable: myVariable })
})
.then(response => {
if (!response.ok) {
return response.text().then(text => { throw new Error(text) });
}
return response.json();
})
.then(data => {
console.log('Response from server:', data);
})
.catch((error) => {
console.error('Error:', error);
});
} else {
console.log("beat checkbox is not checked");
beatcheckbox = false
}
});

document.getElementById("clonecb").addEventListener("change", function() {

var clonecbox = document.getElementById("clonecb");

if (clonecbox.checked) {
console.log("clone checkbox is checked");
clonecheckbox = true
} else {
console.log("clone checkbox is not checked");
clonecheckbox = false
}
});

Я попробовал добавить Accept в заголовки (что не сработало), посмотрев в Postman, в Postman я увидел, что заголовок Accept не установлен, а Content-Type установлен. в текст/html. Я просмотрел весь свой код, и единственное, что упоминается о полученных данных, - это код, который я дал.

Подробнее здесь: https://stackoverflow.com/questions/790 ... ent-type-w
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»