繁体   English   中英

将PHP与node.js / javascript连接

[英]Connecting PHP with node.js/javascript

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

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

“我正在从MySQL获取需要纳入该算法的数据,而JavaScript不能做到这一点”。

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

概括该过程:在请求中,JavaScript代码发送一些有关所需参数的参数,PHP接收该数据,查询数据库,并在对AJAX请求的响应中返回结果。 JavaScript收到此响应,读取数据并继续处理。

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

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

在您的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。
希望这可以帮助。
让我知道您是否需要更多帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM