【发布时间】:2016-07-01 12:20:48
【问题描述】:
所以我有一个名为“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);
正如您在代码中看到的那样,我已经评论了我的问题到底是什么。我需要将 $emails 数组从 PHP 转换为 JS 的 var emails。
我搜索了一些但找不到解决方案。我认为我不应该使用 AJAX,我对 Node 一点也不了解。
最好的方法是什么?
问题 2:
当我的数据库中有新的电子邮件条目时,var emails 会自动更新吗?我猜不会。如果它没有更新,那么有人可以告诉我应该如何让我的var emails 保持最新状态吗?
【问题讨论】:
标签: javascript php node.js express curl