将PHP与node.js / javascript

时间:2017-11-17 10:02:35

标签: javascript php jquery mysql node.js

我必须在我的网站上实现基于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中?你们建议的是什么?

2 个答案:

答案 0 :(得分:3)

  

“我正在从MySQL中获取我需要从该算法中获取的数据,   和JavaScript只是不能这样做“。

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

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

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

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

答案 1 :(得分: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 希望这有帮助。
如果您需要更多帮助,请告诉我。