【问题标题】:How to call a PHP page from a javascript page using express functions如何使用快速函数从 javascript 页面调用 PHP 页面
【发布时间】:2015-02-24 22:05:05
【问题描述】:

我正在尝试使用带有 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 页面的输出;

【问题讨论】:

    标签: javascript php html express


    【解决方案1】:

    你搞错了。您不能将您的快速代码加载到您的 PHP 中,反之亦然(事实上您可以,但工作量太大)。

    要让您的 PHP 代码与您的 express/node 代码对话,您应该在它们之间创建一个接口。我认为 RESTful 接口将是最容易构建的接口。您提供的代码已经是一个 RESTful 接口。

    然后,在您的 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'}
    

    【讨论】:

    • 感谢您的帮助,所以我的 php 代码中的 json 请求应该如下所示:&lt;?php $url = "file.js"; $json = file_get_contents($url); var_dump(json_decode($json)); ? 老实说,我有点困惑,因为我已经有一段时间了。如果可以,请举个例子。谢谢。
    • 谢谢,帮了大忙。我想知道,我可以使用除 express 之外的任何 npm 包和 php,因为我只在 php 和 sql 上工作。
    • 是的,你可以。但是您需要在客户端(与 php 一起)使用它并摆脱节点。
    猜你喜欢
    • 2012-03-15
    • 1970-01-01
    • 2011-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-21
    • 1970-01-01
    相关资源
    最近更新 更多