2017-10-08 11 views
1

htmlサイトの変数 "node"をnode.jsに渡すにはどうすればよいですか?Node.jsとHtmlの間でデータを渡す

マイHTMLページ:search.htmlの

<html> 
<body> 

<div id="content"> 
    <p>Name:</p> 
    <input id="begriff" type="name" name="" value=""> 

    <button style="margin-top: 50px;" onclick="information()" >send</button> 

</div> 

<script type="text/javascript"> 

    var term; 

    function information() { 
     term = document.getElementById("name").value; 
    } 

</script> 
</body> 
</html> 

私のNode.js:私はPlaystoreでアプリを '用語' 変数を検索し、情報を提供したい をapp.js htmlに戻ってどこかにそれを印刷してください。

var gplay = require('google-play-scraper'); 

gplay.search({ 
    term: "Html 'Term' variable", 
    num: 1, 
    fullDetail: false, 
    price: "free" 
}).then(console.log, console.log); 

答えて

0

あなたがしたいのは、要求を受け取り、検索を実行し、結果を返すサーバーを設定することです。これを行うには、Expressが一般的なフレームワークです。

var gplay = require('google-play-scraper'); 
var express = require('express'); 
var app = express(); 

app.get('/search', function (req, res) { 
    // This will run every time you send a request to localhost:3000/search 
    var term = req.params.term; 
    gplay.search({ 
     term: term, 
     num: 1, 
     fullDetail: false, 
     price: "free" 
    }).then(function(result) { 
     // Process the result however you want. 
     // To send a response back, do this: 
     res.send("Whatever you want to send back"); 
    }); 
}) 

// Tell Express what port to listen on 
app.listen(3000); 

あなたのNode.jsプログラムが実行されている間、あなたのHTMLページ内のJavaScriptコードがそれにリクエストを送信し、応答を取り戻すためにfetch機能を使用することができます。

function information() { 
    var term = document.getElementById("begriff").value; // The id of your input was "begriff", not "name" 
    var url = 'http://localhost:3000/search?term=' + term; 
    // Now send a request to your Node program 
    fetch(url).then(function(res) { 
     // Res will be a Response object. 
     // Use res.text() or res.json() to get the information that the Node program sent. 
    }); 
} 

あなたResponseオブジェクトを持っていたら、あなたはそれが含まれている情報を処理し、ページに表示することができます。

関連する問題