2016-05-24 16 views
0

JSで作業を始めました.Node.js、jade、plain JSを使用して、MySQL DBのデータをWebサイトに投稿することができました。ブラウザからJavaScriptへのデータの取得

今私は別の方法、つまりウェブサイトからJSコードにデータを取得し、それをdbに挿入することを試みています。

私が考えているのは、単純にボタンでテキストフィールドを作ることです。テキストフィールドを入力してボタンを押すと、JSスクリプトによって収集され、DBに挿入されます。

しかし、Jadeとリスナーに問題があります。リスナーを使用してconsole.logを実行することもできません。

私のこれまでの.jadeファイルではこれがあります。

extends layout 

script. 
    var something = function() { 
    console.log('something') 
    } 

block content 
    button(onclick='something()') Click 

ウェブサイトはうまくレンダリングされますが、ボタンをクリックすると何も印刷されません。

誰かが私の.jsファイル内のデータを取り出す方法についてヒントを与えることができれば、それはまた評価されるだろう。

+0

*クライアントサイド* JavaScriptを生成しているように見える場合、なぜこのタグが 'node.js'ですか?最終的な目標がサーバー上のデータベースに何かを挿入することになっているときに、クライアントサイドのJavaScriptを扱うのはなぜですか? – Quentin

+0

私はnode.jsというタグをつけています。これは私がビューなどを制御するために使用しているためです。申し訳ありませんが、私はこれが初めてで、おそらくnode.jsは質問には関係ありません。あなたの2番目の質問については、私は分かりません。私はこれに非常に新しいですし、私がやっていることはおそらく最悪の練習かもしれません。 –

+1

データをサーバーに返送するには、AJAXを調べる必要があります – theaccordance

答えて

1

WWWのコンテキストでは、JavaScriptが実行できる場所は2つあります。

  1. <script>要素に埋め込まれたブラウザ上でNode.jsの

サーバー上のデータベースにデータを入れたいので、あなたはオプション1と行きたいだから使用しないで<script>要素。

<form>を使用してください(フォームからのデータを読み取り、それをサーバーに送信するために、クライアント側JSを使用することができます(アヤックス)が、それはあなたのニーズに合わせてovercomplicated、あなたがいることを下るした場合layered on top of a plain HTML solutionする必要がありそうですルート)。

form(action="/myendpoint" method="post") 
    label 
     | Data 
     textarea(name="foo") 
    button Submit 

次に、取得するためにサーバーサイドコードを記述するだけです。その詳細は、NodeでHTTPサーバーを実装する方法によって異なります。

質問How do you extract POST data in Node.js?にはいくつかの出発点があります。

関連する問題