【问题标题】:Connecting PHP with node.js/javascript用 node.js/javascript 连接 PHP
【发布时间】:2018-05-01 01:43:49
【问题描述】:

我必须在我的网站上实现基于 PHP 的背包问题算法。我以为我会用 JavaScript 制作它,但我遇到了问题。我正在从 MySQL 中获取需要用于该算法的数据,而 JavaScript 无法做到这一点。所以我设法通过从 Node.js 添加连接器来做到这一点。该算法在用户给出一些输入时起作用。我用 HTML 制作了一个表单,只是为了获取输入并将其用作函数中的参数。现在的问题是整个网站都是用 PHP 编写的,我无法用 JavaScript 连接它,因为我连接到数据库的 node.js 部分。我想问一下有没有办法使用这个。

总结并说清楚: 网站是用 PHP 编写的,我想制作一个简单的 HTML 表单来从 JavaScript 文件中获取用户的输入到参数函数中。问题是我的 JavaScript 文件需要 MySQL 数据才能运行,所以它变成了 node.js。据我所知,在基于 PHP 的网络服务器上运行 node.js 并不容易。是否可以将 PHP 与 JavaScript 结合使用,以便 PHP 将数据从 MySQL 加载到 JavaScript 中?你们有什么建议?

【问题讨论】:

    标签: javascript php jquery mysql node.js


    【解决方案1】:

    “我正在从 MySQL 中获取我需要用于该算法的数据, 而 JavaScript 无法做到这一点”。

    从浏览器中的 JavaScript 到服务器上的 PHP 脚本的 AJAX 请求是解决此问题的直接方法。

    总结这个过程:在请求中,JavaScript 代码发送一些关于它想要什么的相关参数,PHP 接收该数据,查询数据库,并在 AJAX 请求的响应中返回结果。 JavaScript 接收此响应,读取数据并继续处理。

    Node.js 只是另一个服务器端脚本框架,类似于 PHP。不要让它使用 JavaScript 作为其编程语言这一事实​​让您感到困惑。如果您现有的服务器端解决方案是用 PHP 编写的,那么在这种情况下绝对不需要使用 Node。

    基于浏览器的 JS 和 PHP 可以使用普通的 HTTP 请求非常愉快地相互通信(可能通过 AJAX 发起,因此您可以避免页面刷新等)。这就是网络之美。客户端和服务器可以使用完全不同的编程语言和不同的操作系统,这根本没有区别,因为它们只是使用双方都可以理解的通用协议(HTTP)交换数据。

    【讨论】:

      【解决方案2】:

      在你的 php 文件中,注入你的结果,像这样。

      <?php
      // function that handle form data and returns results from mysql
      // let's call it my_data_function
      $results = my_data_function();
      ?>
      
      
      <script type="text/javascript">
        var mysql_data = <?php echo json_enode($results)?>
        my_js_function(mysql_data)
      </script>
      

      这是老派的方式,然后是 ajax,现在我们正在讨论 REST API。
      希望这会有所帮助。
      如果您需要更多帮助,请告诉我。

      【讨论】:

        猜你喜欢
        • 2015-01-28
        • 1970-01-01
        • 2014-07-05
        • 1970-01-01
        • 2012-04-05
        • 1970-01-01
        • 1970-01-01
        • 2018-12-22
        • 1970-01-01
        相关资源
        最近更新 更多