我是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;