(从PHP切换到节点)-如何与前端通信?

(从PHP切换到节点)-如何与前端通信?,php,node.js,Php,Node.js,我想从PHP切换到NODE。我是一名业余程序员,使用JavaScript(JQuery)、PHP和mysql创建了一些网站 我习惯了$.post(),$.get(),fetch(),getJSON()等东西。。。从上传或读取mysql数据库数据的php脚本发送/接收数据 我的问题来了。当我使用节点脚本并尝试与它们通信时,我只返回代码,而不是数据。当使用node命令运行时,这些脚本在控制台中工作良好 我猜PHP总是在我的Apache中运行,但NODE不是 我的问题:当使用NODE而不是PHP时,如

我想从PHP切换到NODE。我是一名业余程序员,使用JavaScript(JQuery)、PHP和mysql创建了一些网站

我习惯了$.post(),$.get(),fetch(),getJSON()等东西。。。从上传或读取mysql数据库数据的php脚本发送/接收数据

我的问题来了。当我使用节点脚本并尝试与它们通信时,我只返回代码,而不是数据。当使用node命令运行时,这些脚本在控制台中工作良好

我猜PHP总是在我的Apache中运行,但NODE不是


我的问题:当使用NODE而不是PHP时,如何与前端后端通信?感谢您提前给出答案。

正如评论所说,nodejs取代了apache。如果您的nodejs程序名为
server.js
,则需要运行此程序才能启动并运行服务器<代码>节点服务器

如果在同一端口上也运行apache,则不会启动nodejs。它将抱怨该端口已在使用中。但您可能看不到这个问题,因为各种nodejs示例程序使用3000这样的端口号,而apache通常使用80端口

从apache切换到node还涉及到切换您对web服务器工作方式的思考方式。apache是一个文件服务器,它有一个补丁(因此得名),用于运行php脚本,而不仅仅是发送源代码。另一方面,nodejs是一个非文件服务器。如果您想让它服务于静态文件,您必须在“静态”中间件代码中构建它

apache的核心思想是
http://example.com/a/b/c.html
在服务器文件系统中的
/a/b/c.html
中查找文件。Nodejs本身不是一个文件服务器。其中,
/a/b/c.html
是一个称为路由的文本字符串。只有使用“静态”中间件(或其他一些代码)将该路由绑定到文件系统,它才能从文件系统传递文件


您的浏览器代码也应该如此。您可能需要将浏览器代码中的路由名称从
whatever.php
更改为
whatever
,或者编写nodejs代码以接受
.php
内容。

这对于这里来说是一个太宽泛的问题,您应该去找一些关于这个问题的入门教程,例如,您需要在node.js中启动http服务器,也可以使用构建在http模块之上的express server。观看youtube上关于node.js的教程,几乎所有关于node的教程都会包含express server Too,所以我的apache不会这么做?不,你需要一个编译器来编译javascript文件并将结果提供给浏览器。NodeJS使用Chrome的V8 javaScript引擎来实现这一点。我认为apache没有任何javascript引擎是正确的,尽管运行节点服务器不会阻止您通过apache代理它。如