所以我有一个名为" dbEmails.php"的PHP文件,它基本上将所有现有的电子邮件从MySQL写入数组:
<?php
require_once __DIR__ . '../db.php';
$sth = $dbh->query('SELECT email FROM users');
while($row = $sth->fetch(PDO::FETCH_ASSOC)){
$emails[] = $row['email'];
}
echo json_encode(array($emails));
我有一个NodeJS HTTP服务器,用于在注册页面中验证电子邮件是否已经注册。这是:
var http = require('http');
var querystring = require('querystring');
//var emails = array called "emails" from "dbEmails.php"
function accountExists (email) {
return emails.indexOf(email) > -1;
}
var server = http.createServer(function(req, res) {
var params = req.url.split('?')[1];
var data = querystring.parse(params);
var email = data.email;
res.statusCode = 200;
res.setHeader("Content-Type", "application/json");
res.setHeader("Access-Control-Allow-Origin", "*");
res.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
if (accountExists(email)) {
res.write('""');
} else {
res.write('"true"');
}
res.end();
});
server.listen(6666);
正如您在代码中所看到的,我已经评论了我的问题究竟是什么。我需要从PHP获取$emails
数组到JS的var emails
。
我搜索了一些但无法找到解决方案。我想我不应该使用AJAX,我根本不了解Node。
最好的解决方法是什么?
问题2:
当我的数据库中有新的电子邮件条目时,var emails
会自动更新吗?我猜不会。如果它没有更新,那么有人可以告诉我应该如何保持我的var emails
最新?
答案 0 :(得分:0)
问题1,
请使用express.js更新您的nodejs应用,好教程&gt;&gt; https://scotch.io/tutorials/use-expressjs-to-get-url-and-post-parameters
您的节点应用应接受post方法
您可以使用curl命令从php调用节点并将电子邮件数据传递给它并获得结果是否成功
问题2,