2014-11-13 4 views
3

Как получить параметры GET URL при запуске сервера под PhantomJS. Вот код.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 Server не анализирует параметры, как это делает 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

Смежные вопросы