実現したいこと
asp.netのreactテンプレートを使用して、react側からfetchしてPOST形式でデータを受け渡したい
発生している問題・分からないこと
404エラーになってしまう。(console.logには エラーが発生しました のメッセージがでる)
エラーメッセージ
error
1POST https://localhost:44458/search 404 (Not Found)
該当のソースコード
js
1const sendSearchRequest = async () => { 2 if (keyword.trim() === '') return; // 空の入力は無視 3 try { 4 //const response = await fetch('/api/search', { 5 const response = await fetch('search', { 6 method: 'POST', 7 headers: { 8 'Accept': 'application/json', //追加 9 'Content-Type': 'application/json', 10 }, 11 body: JSON.stringify({ keyword: keyword }) 12 }); 13 14 if (response.ok) { 15 const result = await response.json(); 16 console.log('結果:', result); 17 } else { 18 console.error('エラーが発生しました'); 19 } 20 } catch (error) { 21 console.error('通信エラー:', error); 22 } 23 console.log(keyword) 24 };
C#
1 [Route("[controller]")] 2 [ApiController] 3 public class SearchController : ControllerBase 4 { 5 [HttpPost] 6 public IActionResult Post([FromBody] SearchRequest request) 7 { 8 string keyword = request.Keyword; 9 10 // キーワードを使って検索処理などを行う 11 var result = $"検索キーワードは: {keyword} です"; 12 13 return Ok(new { message = result }); 14 } 15 } 16 public class SearchRequest 17 { 18 public string Keyword { get; set; } 19 }
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
ネットで同様の例が見つかりませんでした。
テンプレートのデフォルトでweatherforecastをgetでとってきているのでCORS(クロスオリジン)問題ではなさそう。
補足
reactテンプレート
react18.2
.net6
回答1件
あなたの回答
tips
プレビュー