私はnode.jsを初めて使用しています。私はexpress/node.jsのapiとejsテンプレートを使って接続しています。私はいくつかの情報をブラウザからapiにプッシュしたかったのです。現時点では、私はコマンドラインからプッシュすることができます。私はnode.jsファイルをブラウザから直接呼び出すことはできないと理解していますが、node.jsファイルを呼び出して実行することができればフォーム上でsubmitをクリックするのは困惑しています...モジュール、ルート、または推奨する他のソリューション私は助けに感謝します。クリックイベントからnode.jsファイルを実行する
答えて
これは奇妙な質問です。ノードアプリケーションは、HTTPリクエストまたはWebSocket接続をリッスンする必要があります(WebSocketが利用できないフォールバックを提供できるSocket.ioなどの抽象化を使用する可能性があります)。ソケットで送信されたリクエストまたはメッセージを処理する必要があります。これらのハンドラーでは、必要なものを何でも行うことができます。これは単にクライアント/サーバーアーキテクチャの基本原則です。
あなたのニーズに最も適した技術を選択するには、リアルタイムでの通信が必要かどうか、通信が必要な頻度、必要に応じてどれだけのデータを渡す必要があるかサーバーまたはクライアントなどで開始されたデータの配信をサポートすることができます。
質問に答えるには、フォームを送信してノードアプリケーションでコードを実行できるようにします。これは、フォームがどのように動作するかです。つまり、クエリー文字列内のデータを使ってGETしたり、本体にデータを格納したPOST(どちらもNodeで簡単に読み取ることができます)、そしてバックエンドのハンドラが要求を処理します。応答を必要とし、送信します。
はexpress
とbody-parser
を使用して、この単純な例を考えてみましょう:
const app = require('express')();
const { urlencoded } = require('body-parser');
app.use(urlencoded({ extended: true }));
app.use('/', (req, res) => {
const { method, path } = req;
const { x } = req.body;
console.log(`Client request: ${method} ${path} (x = ${x})`);
res.end(`
<!doctype html>
<html>
<head>
<title>Form handling example</title>
</head>
<body>
<p>x = ${x}</p>
<form method="POST" action="/">
Enter x: <input type="text" name="x">
<input type="submit" value="Submit">
</form>
</body>
</html>
`);
});
app.listen(4447,() => console.log('Listening on http://localhost:4447/'));
新しいディレクトリを作成し、server.js
としてこのコードを保存し、実行します。
npm init -y
npm install express body-parser -S
node server.js
、ブラウザで印刷されたURLにアクセスします。
[送信]ボタンをクリックすると、ノードアプリケーションで何が起こるかがわかります。
ありがとうございます。 – Lily
ノードアプリケーションには、GETリクエストまたはPOSTリクエストを受け入れるルートが設定されています。次に、いくつかのロジックを行い、レスポンスにいくつかのデータを返します。
あなたのWebページは、AJAX呼び出しを介してGETまたはPOSTとしてノードルートにフォームを送信し、同様にAJAX呼び出しから応答を受け取ります。次に、あなたはこの応答を受け取り、Webページでローカルに使用することができます。
ありがとうございます。 – Lily
- 1. Node.jsから.exeファイルを実行する方法
- 2. Node.jsからTortoise SVNを実行する
- 3. node.jsから.coffeeファイルを直接実行できますか?
- 4. Node.jsでJSファイルを実行する
- 5. c#実行時描画オブジェクトからクリックイベントを送信する
- 6. フォルダ外からNode.jsファイルを実行すると、ファイルパスが破損する
- 7. Node.jsからPowershellスクリプトを実行
- 8. 子プロセスからnode.jsでコードを実行
- 9. Geanyからnode.jsサーバを実行
- 10. C関数からnode.jsスクリプトを呼び出す/実行する
- 11. 出力をバッファリングせずにNode.jsからシェルコマンドを実行する
- 12. node.jsのmongodb-nativeからdb.repairDatabase()を実行する
- 13. node.jsからPythonスクリプトを実行するときのparseError
- 14. node.jsアプリケーションからコマンドラインツールを実行する方法
- 15. 同じnode.js子プロセスから複数のコマンドを実行する
- 16. 私のコンピュータからNode.jsを実行する方法
- 17. node.jsからnode.jsサーバーにファイルを送信
- 18. PythonからSQLファイルを実行する
- 19. Warファイルからメインクラスを実行する
- 20. C#から.batファイルを実行する
- 21. C#からJarファイルを実行する
- 22. PHPからJavaファイルを実行する
- 23. TeamCityから.batファイルを実行する
- 24. Javaから.exeファイルを実行する
- 25. PHPからperlファイルを実行する
- 26. ストアドプロシージャからdtsxファイルを実行する
- 27. PythonからJarファイルを実行する
- 28. CodeigniterからPythonファイルを実行する
- 29. クリックイベントで自動実行メソッド
- 30. node.jsからscalaアプリケーションを実行できますか?
下記の[私の回答](https://stackoverflow.com/questions/45241464/running-a-node-js-file-from-a-click-event/45243173#45243173)は役に立ちましたか?コメントはありますか? – rsp