0
私はNode.jsの初心者で、サーバで作業しています。 NodeJSのejsに出力ファイル(html)を返信しようとしています。私は、EJSでejsファイルにhtmlファイルで応答を返信し、ejsでiframeに表示する方法Node.js
、私はコードの下のようなEJSにPythonのファイルを実行するためのHTTPリクエスト( 'POST')を送信ボタンを持って、以下
<div class="form-group" style='margin-bottom:0px;'><div id='Button'><input type='button' class="form-control" value='Request' id="sendButton" onclick="save3()"/></div></div>
<form action="/saveText" method="POST" id="myForm"><input type="hidden" id="metrics_id" ng-repeat="obj in tags" value="{{obj.name}}" name="metrics_name"></form>
<script>
function save3(){
console.log(document.getElementsByName("metrics_name")[0].value);
console.log(document.getElementsByName("metrics_name")[1].value);
console.log(myForm.getElementsByTagName('input').length);
}
$(document).on('click', '#sendButton', function(){
$('#myForm').submit();
});
</script>
を
の詳細を説明しますPythonShellを使用して
そして、それはapp.jsで実行するPythonスクリプトを呼び出します(Node.jsの)
のNode.js
app.post('/saveText', isLoggedIn, function(req, res){
var pyshell = new PythonShell('/public/make_bokeh.py');
pyshell.on('message', function(message){
console.log(message);
});
pyshell.end(function(err){
if(err){
throw err;
}
console.log("Finished");
res.sendFile(); ------------------------>I want to send output file back to EJS
});
});
make_bokeh.pyから、make_bokeh.pyと同じディレクトリに出力htmlファイルを作成します。
問題は、その出力ファイルでejsにHTTP応答を送り返し、iframeに入れたいということです。
これは可能なのでしょうか、それとも考えですか?
感謝。試してみましょう:) – paulc1111
ボタンをクリックする前にejsに行くと、 'htmlFile is not defined 'と表示されてエラーが表示されます。 "<%= htmlFile%>"のように編集する必要がありますか? – paulc1111
私はそれを持っていると思う...私は考えている。私は2番目に考えなければならない。 – paulc1111