我正在尝试使用具有 Express 功能的 javascript 显示 PHP 页面。示例代码:
var express = require('express')
var app = express()
app.get('/', function (req, res) {
res.send('Hello World!')
})
var server = app.listen(3000, function () {
var host = server.address().address
var port = server.address().port
console.log('Example app listening at http://%s:%s', host, port)
})
我有一个带有 html 和 javascript 函数的 php 页面,可以显示数据库中的不同数据,但我不确定如何从 javascript 文件调用该页面。我尝试将其放在 php 页面上的脚本标记中,但是如何在 res.send(); 中执行 php 页面的输出?
最佳答案
你搞错了。您无法将快速代码加载到 PHP 中,反之亦然(事实上您可以,但工作量太大)。
为了让您的 PHP 代码与您的express/node 代码对话,您应该在它们之间创建一个接口(interface)。我认为 RESTful 接口(interface)是最容易构建的接口(interface)。您提供的代码已经是一个 RESTful 接口(interface)。
然后,在您的 PHP 代码(以及 HTML 和客户端 JavaScript)中,您可以
- 向express/node路由发出XHR或Ajax请求(但是您需要发送一个json,这与您得到的没有太大不同:
res.json({hello: 'Hello World' })
。有关 Express json 响应的更多信息 here )。 - 或者,您确实使用了来自 PHP 的 JSON 请求,您可以找到更多信息 here .
编辑: 好的,这是一些 PHP 代码:
<?php
$url = "localhost:3000/"; // this should the route you've defined on
// express. the `app.get('/')` part.
$json = file_get_contents($url);
var_dump(json_decode($json));
?>
你的快速代码应该是这样的:
app.get('/', function(req, res){
res.json({hello: 'Hello World'})
})
然后,您的 PHP 的 var_dump
应该输出:
{hello: 'Hello World'}
关于javascript - 如何使用 Express 函数从 javascript 页面调用 PHP 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28707265/