2014-11-13 71 views
3

如何在PhantomJS下運行服務器時檢索GET URL參數。這是代碼。PhantomJS GET URL參數

var webserver = require('webserver'); 

var server = webserver.create(); 

var service = server.listen(9090, function(request, response) 
{ 
    var page = require('webpage').create(); 

    console.log('GET: ' + request.get) 
    console.log('POST: ' + request.post) 

回答

3

Web服務器模塊不像PHP那樣爲你解析參數。你需要自己做。

server.listen(9090, function(request, response) { 
    // parse url property to get the GET parameters 
    console.log('URL: ' + request.url); 
    console.log(" " + JSON.stringify(parseGET(request.url), undefined, 4)); // pretty print 

    // parse post property to get the POST parameters (message body) 
    console.log('BODY: ' + request.post); 
}; 

function parseGET(url){ 
    // adapted from http://stackoverflow.com/a/8486188 
    var query = url.substr(url.indexOf("?")+1); 
    var result = {}; 
    query.split("&").forEach(function(part) { 
    var e = part.indexOf("=") 
    var key = part.substr(0, e); 
    var value = part.substr(e+1); 
    result[key] = decodeURIComponent(value); 
    }); 
    return result; 
} 

完整的文檔可以找到here

+0

我會讓你弄清楚如何解析POST參數。它不應該太難。 –

+0

我忘了request.url。太好了,謝謝。 – nathanengineer