Reactコンポーネントからスプリングブートコントローラにデータをポストしようとしています。バニラjs:ポストフォームデータが動作していますが、ポストjsonが動作していません
私は400で失敗しました。このようなXHRリクエスト、送ら:
const xhr = new XMLHttpRequest();
xhr.open('post', `/display/clickNext.json?queueId=${this.props.queueId}&flag=${restFlag}`, true);
xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xhr.send();
しかし、私が何であるかをwhy.n知らない:そして、私が働いており、これを試してみました
const valToSent = {
queueId: this.props.queueId,
flag: restFlag //value is '' or '1'
};
const xhr = new XMLHttpRequest();
xhr.open('post', '/display/clickNext.json', true);
xhr.setRequestHeader('Content-Type', 'application/json');
const data = JSON.stringify(valToSent);
xhr.send(data);
を彼らの違いは?
この質問を検索した結果、what's the difference between request payload vs form data as seen in chromeが正しいと理解していれば、「コンテンツタイプは異なりますが、データは送信されません」と伝えられるので、私が間違っている理由と、失敗しました。
私は本当にこの問題を理解したいと思っています。テンプレートリテラルは、このように使用することでとてもエレガントではないようです。もっと重要なのは、基本的な概念についてのようです。
どのようにサーバー側の値を読み取ろうとしていますか? –
コントローラがバックエンドエンジニアによって書かれていて、Javaを理解できません。 ( "/ clickNext") \tパブリックマップの clickNext(@RequestParam文字列キューID、@RequestParamストリングフラグ){ \t \tマップのモデル= resttemplate.postForObject(queueConfig.getCommondUrl(@RequestMapping )+ "clickNext.json?queueId = {queueId}&flag = {flag}"、null、Map.class、new Object [] {queueId、flag}); \t \tリターンモデル; \t} –