ホームページ > バックエンド開発 > Golang > Golang を使用した Reactjs アプリケーションからの Axios ポスト データの受信に関する問題

Golang を使用した Reactjs アプリケーションからの Axios ポスト データの受信に関する問題

王林
リリース: 2024-02-06 08:39:08
転載
564 人が閲覧しました

使用 Golang 从 Reactjs 应用程序接收 Axios 发布数据时出现问题

質問の内容

私は、axios 投稿をポート 9000 に送信する、reactjs を使用してローカルでホストされている Web ページを持っています。 golangサーバーがポートをリッスンして投稿を受信して​​います。その後、投稿をデコードしますが、データは取得されません。以下は、reactjs アプリケーションで axios post を送信するためのコード部分です。

リーリー

以下は、投稿を処理する golang サーバーの部分です。

リーリー

以下は listitem 構造です

リーリー

名前をタスクではなくタイトルに変更し、静的変数を渡すだけにしてみましたが、役に立ちませんでした。

コンソールでは入力されたテキストが正しく出力されますが、コンソールが golang サーバーからの axios 応答を出力するとき、その応答にはタスク名が含まれません。

これは、golang サーバーからの応答データ部分の例です: data: {_id: '0000000000000000000000000', title:'test'}.

次の データのみを出力します: {_id: '000000000000000000000000'}

投稿を受信した後の golang ターミナルの出力は次のようになります:

リーリー

タスクのプロパティは新しいタスクにあるようです。問題は、新しいタスクに Web ページから入力されたテキストが含まれていないことです。さらにコードが必要な場合は、以下のコードを参照してください

  • メインリポジトリ
  • reactjs ファイル
  • メインファイルに移動

正解


このような問題をデバッグするには、devtools を使用することをお勧めします。

スクリーンショットは、ペイロードが形式 URL でエンコードされていることを示しています。しかし、サーバーは json デコーダー (_ = json.newdecoder(r.body).decode(&newtask)) を使用してそれを読み取ろうとします。 decode エラーを無視しない場合は、コンテンツが有効な json ではないことが報告されるはずです。この問題を解決するには、{headers: {"content-type": "application/x-www-form-urlencoded" を client/src/to-do-list.js から削除するだけです。 }}### それでおしまい。

変更後のペイロードは次のようになります:

その他のエラー:

###1。

context-type

ヘッダーが応答のコンテンツと一致しません

go-server/main.go

の関数 createtask にも別の問題があります。応答は json: としてエンコードされます。 リーリー との競合:

リーリー

タイトルは次のように置き換える必要があります:

リーリー

2.cors 設定が間違っています

リーリー

options

リクエストは getalltask s によって処理されます。投稿リクエストで content-type ヘッダーを許可するには、次の行を getalltasks に追加する必要があります: リーリー

createtask

options リクエストを処理しないため、次の行を削除できます: リーリー

以上がGolang を使用した Reactjs アプリケーションからの Axios ポスト データの受信に関する問題の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート