最近チャットルームを書いたのですが、scoket.ioの公式サイトの例をそのままコピペしたのですが、書いた後にメッセージを送信すると一瞬データが表示されてページが更新されてしまいました。 、なんと?
ようやくデータを取得した後、データが消えていました。最終的にフロントエンドとバックエンドを調べた後、フロントエンドからコピーした公式 Web サイトがフォームであることがわかりました。それは彼のせいです。送信ボタンあなたが送信している限り、彼はあなたがフォームを送信したと考えます。その後、送信後にトリガーされるアクションはレターページに直接表示されます。!!
次に、内部のすべてのボタンを含むフォームを公式 Web サイトのコードから直接削除し、通常のボタンを手書きで作成しました。これは完全に解決され、送信後にページが更新されなくなりました。
公式サイトのコードはボタンを自分で書くことを推奨し、使用しないことを推奨します
<body>
<ul id="messages"></ul>
<form id="form" action="">
<input id="input" autocomplete="off" /><button>Send</button>
</form>
</body>
自分で書いたコード
<div class="bttons">
<input type="text" id="input" autocomplete="off" />
<button onclick="btns()" id="one">Send</button>
</div>
この方法では、ページは自動的に更新されなくなります。これは完璧な解決策です。