我想在运行node.js的Linux服务器上通过在客户端上调用XMLHttpRequest来执行PHP脚本。不返回在服务器上执行PHP脚本,而是返回脚本内容。是否需要在服务器上执行PHP脚本的node.js配置更改?另外,由于node.js用于服务器端javascript,我可以使用XMLHttpRequest执行javascript文件而不是PHP文件吗?
目标只是在服务器上执行脚本只是为了完成一项简单的任务。这时,我不需要任何东西返回给客户。
客户端:
var xmlhttp;
if (window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("mailDiv").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","phpfile.php",true);
xmlhttp.send();
服务器端 - PHP脚本phpfile.php
<?php
$to = "first.last@company.com";
$subject = "Hi!";
$body = "Hi,\n\nHow are you?";
if (mail($to, $subject, $body)) {
echo("<p>Email successfully sent!</p>");
} else {
echo("<p>Email delivery failed…</p>");
}
?>
答案 0 :(得分:1)
Node.js和PHP是完全不同的野兽。默认情况下,节点无法执行PHP,只会将文件的内容发送到客户端。
您可以尝试node-php-server之类的东西在节点内执行PHP,但我认为最好的办法是安装Apache或nginx并使用它来执行PHP。