HTTPS-запрос от локального AMP & NodeJS - PullRequest
1 голос
/ 22 апреля 2020

Я новичок в AMP и столкнулся с проблемой при отправке форм. В документации усилителя говорится, что значение action-xhr должно быть https, однако я работаю над http://localhost: 3000 . Я надеюсь получить совет по настройке конечной точки формы и конечной точки API, которая будет работать в разработке и, если возможно, в действующем домене!

Вот код, который я первоначально использовал, конечная точка получит запрос, но тело будет пустым, а клиентская сторона получит следующую ошибку после длительной загрузки: «Ошибка загрузки XHR (http://localhost: 3000 /...): ошибка загрузки»

API:

app.post("/api/contact", function (req, res) {
    console.log(req.body);
});

Форма:

<form method="post" action-xhr="/api/contact" target="_top">
        <fieldset>
            <label>
                <span>Name:</span>
                <input type="text" name="name" required>
            </label>
            <input type="submit" value="Send">
        </fieldset>
        <div submitting>
            ...
        </div>
        <div submit-success>
            ...
        </div>
        <div submit-error>
            ...
        </div>
    </form>

Сервер:

require("dotenv").config();
var express = require("express");

var app = express();
var PORT = process.env.PORT || 3000;

// Middleware
app.use(express.urlencoded({ extended: false }));
app.use(express.json());
app.use(express.static('public'));

// Routes
require("./routes/htmlRoutes")(app);
require("./routes/apiRoutes")(app);

// Starting the server ------------------------------------/
app.listen(PORT, function () {
    console.log(
        "==> ?  Listening on port %s. Visit http://localhost:%s/ in your browser.",
        PORT,
        PORT
    );
});

module.exports = app;
...