私は今のところ解決策を探していました...だから、基本的に私は2つのファイル:index.htmlとhellonode.jsを持っています。 Index.htmlには、テキストを持つdivと、クリックされたときにhellonode.jsに要求するボタンがあります。 hellonode.jsはリクエストを受け取り、レスポンスを送信することになっています。スクリプト全体を返すAjaxリクエスト
hellonode.js:ここ
var http= require('http');
function onRequest(request, response){
console.log("request has been received");
response.writeHead(200, {"Context-Type": "text/plain"});
response.write("<h1>response here!</h1>");
response.end();
}
http.createServer(onRequest).listen(8888);
console.log("server is running");
は私のindex.htmlです:
<!DOCTYPE html>
<html>
<head>
<script>
function loadXMLDoc() {
var xmlhttp;
xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById('myDiv').innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET", "hellonode.js", true);
xmlhttp.send();
}
</script>
</head>
<body>
<div id="myDiv">
<h2>content</h2>
</div>
<button type="button" onclick="loadXMLDoc()">Your response content should appear here</button>
</body>
</html>
イムノードJSとApacheサーバ(Apachelounge.com上のバイナリバージョン)を使用し、内側に置きますhtdocsフォルダにそれらの2つのファイルを作成してから私のサーバを起動してください。他のコンピュータから192.168.0.102にアクセスすると、index.htmlの画面が表示されます。ここまではすべてが大丈夫です。ボタンをクリックしてリクエストを送信すると、受け取ったレスポンスはhellonode.jsのjavascriptコード全体です。なぜそれが起こっているのですか?私はhellonode.jsが私の要求を受け取っていないという気持ちがあり、index.htmlはhellonodeのコンテンツを読んでいるだけで、実際にリクエストを送信していることを示しています。私はこのサーバー側のものに新しい。ありがとう。
Apacheはサーバーであり、nodejsを使用するとサーバーを作成できます。これで、あなたが何らかのurlを要求しなければならないときにファイル 'hellonode.js'を要求しています。 :) https://expressjs.com/を読んでApacheを停止してください:) – Hardy
'Context-Type' - あなたがmisspelt * Content * – Quentin
あなたのhellonode.jsコードが.phpファイルのように動作することを期待しています...これはそうではありません。あなたのコンピュータにnodejsがインストールされているなら、 'node hellonode.js'でコードを起動し、あなたのブラウザが' 127.0.0.1:8080'になっているはずです...これは '
ここに!
' – CaffeineAddiction