私は、axios 投稿をポート 9000 に送信する、reactjs を使用してローカルでホストされている Web ページを持っています。 golangサーバーがポートをリッスンして投稿を受信しています。その後、投稿をデコードしますが、データは取得されません。以下は、reactjs アプリケーションで axios post を送信するためのコード部分です。
リーリー以下は、投稿を処理する golang サーバーの部分です。
リーリー以下は listitem 構造です
リーリー名前をタスクではなくタイトルに変更し、静的変数を渡すだけにしてみましたが、役に立ちませんでした。
コンソールでは入力されたテキストが正しく出力されますが、コンソールが golang サーバーからの axios 応答を出力するとき、その応答にはタスク名が含まれません。
これは、golang サーバーからの応答データ部分の例です: data: {_id: '0000000000000000000000000', title:'test'}
.
次の データのみを出力します: {_id: '000000000000000000000000'}
投稿を受信した後の golang ターミナルの出力は次のようになります:
リーリータスクのプロパティは新しいタスクにあるようです。問題は、新しいタスクに Web ページから入力されたテキストが含まれていないことです。さらにコードが必要な場合は、以下のコードを参照してください
このような問題をデバッグするには、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 から削除するだけです。 }}### それでおしまい。
その他のエラー:
の関数 createtask
にも別の問題があります。応答は json: としてエンコードされます。
リーリー
との競合:
タイトルは次のように置き換える必要があります:
リーリー2.cors 設定が間違っています
リーリー options リクエストは getalltask s
によって処理されます。投稿リクエストで content-type
ヘッダーを許可するには、次の行を getalltasks
に追加する必要があります:
リーリー
は options
リクエストを処理しないため、次の行を削除できます:
リーリー
以上がGolang を使用した Reactjs アプリケーションからの Axios ポスト データの受信に関する問題の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。