来自本地主机AMP & NodeJS的HTTPS请求。

问题描述 投票:1回答:1

我是AMP的新手,我在提交表格时遇到了一个问题。 在AMP的文档中,它规定action-xhr的值必须是https,但是我在开发的是 http:/localhost:3000. 我希望得到关于设置表单目标和api端点的建议,如果可能的话,这将在开发中和在一个真实的域上工作!这是我最初使用的代码,端点将收到req,但身体将是空的& 客户端将收到以下错误,经过长时间的加载 "XHR Failed fetch (XHR)"。

下面是我最初使用的代码,端点会收到一个req,但主体会是空的& 客户端会收到以下错误后,一个漫长的加载 "XHR Failed fetching(http:/localhost:3000..): Failed to fetch"

API。

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

表格: Form:

<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;
node.js forms amp-html
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.