我有一个Chrome扩展程序,它与Arduino Uno通过串行连接进行通信,我想从在线mysql数据库中检索命令。我是javascript编程的新手,我无法通过扩展来了解如何访问我的数据库。 这是我的php代码(它显示了存储在数据库中的消息):
if (!empty($_POST)) {
if (empty($_POST['label'])) {
$response["success"] = 0;
$response["message"] = "Inserisci la pass!";
die(json_encode($response));
}
$pass = '***';
if ($_POST['label'] == $pass) {
$cn = mysql_connect("localhost", "***", "***");
mysql_select_db("***", $cn);
$result = mysql_query("SELECT Messaggio FROM tesinafrax ORDER BY numero DESC LIMIT 1");
while($row = mysql_fetch_array($result))
{
$queried_mex = $row['Messaggio'];
echo json_encode($queried_mex);
} } else { $response["success"] = 0;
$response["message"] = "Inserisci la pass!";
die(json_encode($response));
}
exit;
}else{
?>
<h1>Inserisci pass</h1>
<form method="post" action="leggimex.php">
<input name = "label" type="text"><button name="vedi"
>vedi</button></form>
<?php
}
?>
那么我如何打开php,在文本框中写入密码并解析json响应以获取我本地chrome扩展的字符串变量?
答案 0 :(得分:1)
你不能(直接)这样做。您可以做的是在PHP中设置REST API并使用Chrome扩展程序中的Ajax与您的API进行交互。
从高级别开始,流程将是:(客户端)Chrome扩展程序需要您数据库中的字符串 - &gt;向您的PHP API发送Ajax请求(例如,yourserver / getstring) - &gt; (后端)您的API收到请求并从您的数据库中获取字符串 - &gt; PHP API返回JSON响应 - &gt; (客户端)Ajax请求完成,现在您将字符串作为javascript变量。
这可能看起来很多,但它可能是最好的方式。好消息是REST API / Javascript是一个非常受欢迎的主题,因此有很多很好的资源,它只需要进行一些研究。
对于你的PHP后端,我会结帐SlimPHP。对于Ajax部分,您可以使用jQuery或仅使用vanilla Javascript。