@akamaru (あかまる)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

Node.jsのルーティングについて

Node.jsのルーティングについて

Node.jsのExpressのルーティングでわからない箇所があります。
ご回答いただけましたら幸いです。

発生している問題・エラー

router.post('/*/hoge', (req, res) => {/*省略*/}

上記のようにルーティングをしています。
やりたいこととしましては、フロント側から末尾にhogeがついているものにjqueryを使用してajax通信を行おうとしています。

// フロント側
const url = location.href;
const targetUrl = url + 'hoge';

// 細かい箇所は省略
$.ajax({url: targetUrl}) 

上記のようにPOST送信を行おうとした際に、サーバー側にPOST送信がされませんでした。
そのため、どのようにルーティングをしたらサーバー側に届くのでしょうか?

0 likes

1Answer

  • フロントエンドから期待したリクエストができていない
  • バックエンドが期待したリクエストを処理できていない
  • その両方

原因を切り分けて考えて考えるのが良いと思います。
バックエンドの問題については、次のような方法で確認できると思います。

  • 適当なformを作ったり、ツールなどで期待するリクエストを再現してみる
  • バックエンドのログ(アクセスログやアプリケーションログ)を確認する
  • バックエンドからのレスポンスを確認する(4xxエラーなのか5xxエラーなのか など)

フロントエンドは、ブラウザのデバッグツールを利用して、リクエストが正しく送られているか確認できると思います。
ChromeであればデベロッパーツールのNetworkタブで確認できます。

ちなみにjQueryのajax()ですが、デフォルトはGETリクエストになっているようです。
記載のコードを見る限りでは、この部分の問題に見えます。

method (default: 'GET')

0Like

Comments

  1. @akamaru

    Questioner

    ご回答ありがとうございます。
    Chromeの拡張機能でどこにリクエストを送っているのか、調べてみます。

Your answer might help someone💌