Как передать массив PHP на HTTP-сервер NodeJS?

Итак, у меня есть файл PHP с именем «dbEmails.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));

У меня есть HTTP-сервер NodeJS, который используется для проверки того, уже зарегистрирована электронная почта или нет, на странице регистрации. Вот:

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 в var emails из JS.

Я искал некоторые, но не мог найти решение. Я думаю, что я не должен использовать AJAX, я вообще ничего не знаю о Node.

Что было бы лучшим способом добиться этого?

Вопрос 2:

Будет var emails обновлять автоматически при появлении новой записи электронной почты в моей базе данных? Я думаю, нет. Если он не обновляется, то может кто-нибудь сказать, пожалуйста, как мне сохранить свои var emails до настоящего времени?

-1

Решение

Из вопроса 1

  • пожалуйста, обновите ваше приложение nodejs, используя express.js, хороший учебник >> https://scotch.io/tutorials/use-expressjs-to-get-url-and-post-parameters

  • приложение вашего узла должно принимать метод post

  • Вы можете вызвать узел из php с помощью команды curl, передать ему данные электронной почты и получить результат, независимо от того, успешен он или нет

Из вопроса 2

  • если вы обновляете приложение узла yiue из моего предложения выше, оно должно обновляться автоматически
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector