JSのfetchAPIを使って非同期でServletにsubmitしたい
解決したいこと
JSのfetchAPIを使って非同期でServletにsubmitしたい
発生している問題・エラー
リダイレクトしているため、コンソール画面が更新されてエラーをみることができません。
かといって、リダイレクトを防ぐためにformタグをコメント化すると 「IDが見当たらない」
と怒られ、問題のエラーまで到達できません。
該当するソースコード(/WEB-INF/jsp/sell.jsp)
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
</head>
<body>
// プロジェクト名 m_market のサーブレット ItemSell.java にsubmit
<form action="/m_market/ItemSell" enctype="multipart/form-data" method="post" id="formdata">
// 送信する値(省略)
</form>
<button id="btn">出品する</button>
<script type="text/javascript">
let button = document.getElementById('btn');
button.addEventListener('click', function() {
const fd = new FormData(document.getElementById('formdata'));
fetch('/sell.jsp', {
method: 'POST',
body: fd
})
.then(response => {
return response.blob();
})
.then(blob => {
console.log(blob);
})
.catch(error => {
// エラー処理
console.log('失敗しました!');
console.log(error);
});
});
</script>
</body>
</html>
自分で試したこと
調べに調べまくりましたがそもそもjsから非同期で
servlet側にsubmitしている記事が見当たりませんでした(;´Д`)ハァハァ
blobがだめなのでしょうか?
非同期のスペシャリストの方、お願いしますm(_ _)m
0