検索

ホームページ  >  に質問  >  本文

axios からノードサーバーにデータを送信できず、空のオブジェクトが返されました

私のクライアントコード:

リーリー

私のサーバー側コード:

リーリー

まず最初に、私はバックエンドの初心者であることを念頭に置いてください。ログに記録されたデータを console.log しようとすると、空のオブジェクトが返されます。なぜ req.body が空のオブジェクトを返すのか理解できませんが、action:"/login" を指定して同じことを実行しようとすると、メソッドの場合: form タグ内で「post」すると、期待どおりに動作し、指定した入力が得られます。誰か助けてください、頭が熱くなります、よろしくお願いします。

P粉141911244P粉141911244232日前2592

全員に返信(1)返信します

  • P粉333186285

    P粉3331862852024-04-01 09:14:42

    req.body は空です。axios を使用して送信すると、実際には JSON (application/json) ペイロードが送信され、バックエンドはJSON ペイロード パーサーはなく、URL エンコードのみがあり、HTML フォームは application/x-www-form-urlencoded 形式で送信するため、機能します。

    したがって、axios を使用して URL エンコードされたリクエストを送信する必要があります。これを行うには、URLSearchParams を使用して JSON オブジェクトをクエリ文字列に変換します。これを試して。

    リーリー

    あるいは、JSON パーサーをバックエンドに追加するだけで、組み込みパーサーを使用して生の JSON リクエストが機能します。 リーリー

    返事
    0
  • キャンセル返事