Невозможно обновить div в Express - PullRequest
0 голосов
/ 18 октября 2019

У меня есть небольшая страница блога, которую я создаю, и я хочу сделать опцию обновления. Я добавил форму и использовал метод «PUT» и сделал все остальное, как требуется, но он не обновляется. Я что-то упустил?

Редактировать: Извините за отсутствие деталей. У меня есть экспресс-приложение с mongoDB. У меня есть основные маршруты получения и отправки. Мне нужно только получить обновление и удалить маршрут. Вот основной код: HTML

<div> Blog content </div>

Edit.ejs

<form action=‘/blogs/<%=blogs._id%>’ method=‘PUT’>

1 Ответ

0 голосов
/ 18 октября 2019

Вы должны опубликовать свой код, чтобы нам было абсолютно ясно об этом. Сейчас мы можем только догадываться, что вы не используете method-override . Я предполагаю, что это экспресс-приложение, поскольку вы пометили его как таковое.

Браузеры не поддерживают запросы PUT и DELETE, и для этого есть веская причина здесь . Чтобы обойти это, вам понадобится переопределение метода. Чтобы использовать его, во-первых, укажите его в файле app.js (или в вашей точке входа)

  var express    = require("express"),
          app    = express(),
methodOverride   = require("method-override");

Теперь вам нужно определить, какое ключевое слово вы будете использовать в URL-адресе действия вашей формы, чтобы указывать в выражении использовать метод-override. Я буду называть это ключевое слово _method

app.use(methodOverride("_method"));

Вот основная часть. Поскольку запросы PUT и DELETE не поддерживаются в HTML, вам нужно будет передать форму в виде запроса POST, как показано ниже:

<form action="/urlOfThePage?_method=PUT" method="POST">

По сути, это отправит запрос PUT, даже если указанный метод является POST,Если вы хотите запрос DELETE, замените ? _ Method = PUT на ? _ Method = DELETE .

Это можно проверить с помощью Почтальон .

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