У меня проблема с отправкой данных на мой колб-сервер. Пример передачи данных просто отлично, когда я использую почтальон, но я не могу сделать это из внешнего интерфейса.
Форма генерируется динамически и выглядит следующим образом
<div class="container" id="form-wrapper">
<form id="comment-form" method="POST" onsubmit="send_comment(event)" class="border p-4 mt-4 rounded">
<legend class="border-bottom mb-4">Register</legend>
<div class="form-group">
<label for="comment">Comment</label>
<textarea rows="3" class="form-control" id="comment" aria-describedby="name_help" name="comment"</textarea>
<input type="hidden" class="form-control" id="geom" name="geom" value="${coords25832[0]} ${coords25832[1]}">
</div>
<div class="form-group">
<button type="submit" class="btn-sm btn-primary">Save</button>
</div>
</form>
</div>
Это функцияотправка данных
function send_data(event) {
event.preventDefault();
let data = new FormData();
data.comment= document.querySelector('form #comment').value;
data.geom = document.querySelector('form #geom').value;
// Example data
//data = {"comment":"sd","geom":"567398.6224792203 7027428.422090762"}
fetch(`${baseurl}/api/comment`,
{
method: "POST",
headers: new Headers({
//'Content-Type': 'application/x-www-form-urlencoded'
'Content-Type': 'application/json'
}),
body: data
})
.then(function(res){ return res.json(); })
.then(function(data){ alert( JSON.stringify( data ) ) })
.catch(function (error) {
console.log('Request failure: ', error);
});
Наконец мой маршрут. Я пытаюсь получить опубликованные данные. Я удалил код для сохранения в БД и т. Д. Ниже. Я просто пытаюсь получить данные на стороне сервера. Но это не удается, и я не могу понять, почему? Я просто пытаюсь опубликовать данные JSON или формы, но не могу заставить их работать, мне кажется, что я не могу получить опубликованные данные? Не уверены, что проблема в интерфейсе или бэкэнде?
@mod.route(/comment', methods=['POST'])
def map_comment():
if request.method == "POST":
print("I am a post")
if request.form:
print("I have form data")
#print(request.form['kommentar'])
if request.data:
print("I have data")
if request.json:
print("I have json")
# Do stuff with the data...
else:
print("fail)