2016-07-01 67 views
-1

所以我有一個名爲「dbEmails.php」 PHP文件,它基本上會將所有現有的電子郵件從MySQL到一個數組:如何將PHP數組傳遞給NodeJS HTTP服務器?

<?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); 

正如你可以在代碼中看到的,我已經評論了我的問題是什麼。我需要從PHP獲得$emails數組到JS的var emails

我搜索了一些,但找不到解決方案。我想我不應該使用AJAX,我根本不瞭解有關Node的任何信息。

怎麼去做這件事的最好方法?

問題2:

請問var emails更新時自動出現在我的數據庫中的新電子郵件條目?我猜不會。如果它沒有更新,那麼有人可以告訴我應該如何保持我的var emails最新?

+0

你應該能夠找到一些例子來說明如何使用curl數據發送到一個http服務器,例如[1](http://stackoverflow.com/a/9065892/5781248)[2](http://stackoverflow.com/questions/2138527/php-curl-http-post-sample-碼) –

回答

0

從問題1,

從問題2,

  • 如果你從我的建議更新yiue節點應用上面,應該自動更新
相關問題