2015-04-16 6 views
2

Недавно я начал программирование с Node JS и нашел замечательную замену php. В php я использовал для отправки запросов на получение данных в URL.Узел JS, отправляющий данные по URL-адресу

Что-то вроде: http://sample.com/public.php?x=helloworld

Как выполнить что-то вроде этого в узле JS или есть лучший способ для передачи данных в узел в отличие от использования URL в приведенном выше случае.

Кроме того, я заметил, что в некоторых случаях, как StackOverflow, запросы отличаются И не включают в себя имя файла

как/публика? = Вместо /public.php?=

Как это достигается , я всегда думал, что это что-то связано с REST. Кроме того, если у вас есть ответ, вы можете также посоветовать мне, если это можно сделать с помощью Node, и несколько источников, чтобы узнать, могут также помочь.

+0

Файл может быть 'public.php' на сервере, но он переписывается с помощью' .htaccess' (или альтернатива для конкретного сервера) – mariobgr

+0

возможно дубликат [Как получить GET (строка запроса) в Express на узле.js?] (http://stackoverflow.com/questions/6912584/how-to-get-get-query-string-variables-in-express-on-node-js) –

+0

Вы можете посмотреть [на это] (http://stackoverflow.com/a/29582035/3790486) – adricadar

ответ

1

Возможно, вам будет намного лучше использовать уже существующий модуль в качестве вашего веб-сервера. Вы можете установить его вручную, но вы должны знать о множестве потенциальных краевых случаев и действительно понимать веб-серверы. Большинство людей в узле используют express. В узле, как и на любом серверном языке, вы можете передавать данные несколькими способами. Строка запроса - одна. Вы также можете поместить некоторые параметры непосредственно в url (например, «/ users/12», где 12 - идентификатор пользователя). В зависимости от типа запроса вы можете поместить данные в тело запроса. Вы также можете передавать файлы cookie. Они не зависят от узла. Объясняя, как курьерские работы в должности, как это было бы с ума, так что я просто дам вам краткий пример того, что обработчик маршрута соответствие ваш пример маршрута может выглядеть примерно так:

var express = require('express'); 
var app = express(); 

app.get('/public', function(req, res, next) { 
    // Get the value from the query string. Express makes the query 
    // available as an object on the request parameter. 
    var x = req.query.x; 

    // Execute your main logic 
    doSomethingWithX(x); 

    // Send a response 
    res.status(200).json({ foo: 'bar' }); 
}); 
1

самый регулярный способ использования REST API

req.query

// GET /search?q=foo+bar 
req.query.q 
// => "foo bar" 

// GET /phone?order=desc&phone[color]=black&shoe[type]=apple 
req.query.order 
// => "desc" 

req.query.phone.color 
// => "black" 

req.params

// GET /user/william 
req.params.name 
// => "william" 

req.body (для данные формы)

// POST /login 
req.body.username 
// => "william" 
req.body.password 
// => "xxxxxx" 
Смежные вопросы