2014-11-13 70 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