отправить данные методом Get на сервер NodeJS - PullRequest
0 голосов
/ 21 сентября 2019

Я хочу отправить некоторые данные или запросы на сервер моего узла с помощью метода get, получить эти данные и манипулировать ими на стороне сервера.Я знаю, что есть несколько способов использования почтальона, но я хочу отправить его с веб-страницы.используя почту данные были успешно получены.Вот код, который я использую:

//server.js

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

app.listen(3000, () => console.log('server is running on port 3000'));

app.use(express.json({limit: '5mbs'}));
app.use(express.static('client'));
app.get('/', (req, res) => {console.log(req)});

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>chat</title>
    </head>
<body>
    <h1>server is sending html</h1>
    <script src="index.js"></script>
</body>
</html>

index.js

const a = 5;
console.log(a);
options = {
  method: "get",
  headers: {"ContentType" : "application/json"},  
};
fetch('/', options)

, как вы видите, я пытаюсь отправить эти данныев формате json, но в моем коде нет данных для отправки, но с помощью сообщения я смог, по крайней мере, получить запрос, и мне удалось console.logit, а затем проанализировать req.body.но с get нет req.body, и я не могу даже console.log req, и у меня нет никаких ошибок или чего-то в консоли.так что здесь не так, и как я могу быть в состоянии отправить константу, например?

Ответы [ 3 ]

0 голосов
/ 22 сентября 2019

метод POST используется для отправки данных в конечную точку, в то время как метод GET используется для запроса данных от конечной точки.

Если вам необходимо отправить конкретные данные в вашу конечную точку, используйте параметры запроса.Доступ к ней на вашей конечной точке для вашей логики на стороне сервера.

Обратитесь к этой статье для лучшего понимания

0 голосов
/ 22 сентября 2019

выглядит так, как будто в моем коде отсутствовали две вещи, во-первых, я не отправлял никаких запросов, потому что функция fetch принимала только url = '/', поэтому ничего не отправлялось на сервер с клиента ('index.js'),и решением этой проблемы является добавление к нему некоторой вещи, например, переменной a.

fetch('/' + a);

, а вторая вещь, которую необходимо сделать, находится на server.js, '/: a' впараметр url функции app.get, поэтому он берет все, что находится справа от '/' (и перед '/' справа), и помещает его в переменную a

app.get('/:a', (req, res) => {console.log(req.params)});

req.params - это объект, который будет иметь этот ключ: пары val допустим, что у нас есть другое значение b, которое мы хотим отправить, кроме:

fetch('/' + a + '/' + b)

и получить его

app.get('/:a/:b', (req, res) => {console.log(req.params)});

это напечатает

{ a: '5', b: '6' }
0 голосов
/ 22 сентября 2019

вы можете использовать метод QueryString для отправки данных на сервер в URL;это выглядит так:

example.com/?id=232

id - это QueryString, и вы можете получить эту переменную в Express с помощью req.params.id

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...