2016-07-13 3 views
-1

Можем ли мы изменить fs.readFileSync(__dirname + '/game.php'); на fs.readFileSync(__dirname + '/game.php?id='+id);?Можем ли мы изменить fs.readFileSync (__ dirname + '/index.html) ;?

Это дает мне ошибку:

fs.js:549 return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode); 

Есть ли другой способ?

+0

'readFileSync' предназначен для чтения файлов, а не выполнять их (я предположите, что вы хотите). – robertklep

+0

Если вы хотите выполнить скрипты php с nodejs, чем [здесь] (http://stackoverflow.com/questions/6542169/execute-php-scripts-within-node-js-web-server), вы должны найти некоторую помощь. –

+0

Я не хочу выполнять скрипт php. Позвольте мне рассказать вам, что я пытаюсь сделать в деталях. Я новичок в узле и только что начал неделю назад, поэтому заранее извиняюсь за плохой код. Дело в том, что я передаю значение с моего php на узел в виде localhost: 8000/game.php? Id = 123, теперь здесь значение передается узлу, но соединение не устанавливается, поскольку fs.readFileSync (__ dirname + '/game.php'); не распознает URL. так есть ли другой способ сделать это? спасибо за ответ –

ответ

0

Я предполагаю, что вы пытаетесь позвонить 44 php-серверу GET, который работает сам по себе (например, у вас есть веб-сервер, который предоставляет php-страницы на localhost/game.php или аналогичные).

Если это так, то вам нужно использовать http библиотеку, и я думаю, что-то, как это может работать для вас:

"use strict"; 

var http = require("http"); 
var id = 123; 
var options = { 
    host: "localhost", 
    port: 80, 
    path: 'game.php?id=' + id, 
    method: "GET" 
}; 

var req = http.request(options, function(res) { 
    console.log("STATUS: " + res.statusCode); 
    console.log("HEADERS: " + JSON.stringify(res.headers)); 
    res.on("data", function (chunk) { 
    console.log("BODY: " + chunk); 
    }); 
}); 

req.end();