query-string - 表单提交重定向到带有 AMP-HTML 的新网址
问题描述
我有一个简单的问题,但在 AMP 中似乎无法解决!!
我有一个简单form
的input
和submit button
这样的:
<form id="myform">
<input type="text" id="srchInput"/>
<button type="submit">Submit</button>
</form>
我想要的只是能够在提交表单时将静态 url 连接到输入值并将页面重定向到结果。
例如,如果用户输入:"Hello"
并提交表单,我想将他重定向到类似"MY/STATIC/URL/Hello"
.
有没有办法在amp中实现这一点?
解决方案
一种方法是AMP-Redirect-To
在响应中设置标头(请参阅 AMP-form-redirection)。在表单提交时发送用户输入,然后从您的 API 端点生成所需的 url,并AMP-Redirect-To
在对生成的 URL 的响应中设置标头。
另一种方法是对表单提交事件使用navigateTo(url=STRING)
操作(请参阅 AMP 操作和事件)。在这种情况下,您必须使用类似的事件将输入中的值存储到状态input-throttled
,然后在navigateTo
url 字符串中使用 url 替换来附加 amp-state 值。
第一种方法保证有效。第二种方法理论上应该可行,但我无法弄清楚如何通过 url 替换来获取 AMP-STATE 值。相同的代码应该是这样的:
<form id="myform" on="submit:AMP.navigateTo(url="MY/STATIC/URL/AMP_STATE(endValue)>")">
<input type="text" id="srchInput" on="input-throttled:AMP.setState({ endValue : event.value })" />
<button type="submit"> Submit </button>
</form>
如果您能弄清楚如何将 amp-state 值替换为 url,这应该可以工作。让我知道它是否有帮助。
推荐阅读
- arrays - 排列一个整数数组,使得没有两个连续数字的总和可以被 3 整除
- angular - 从 Angular 管道 "number" (l10n) 解析数字字符串
- javascript - 我想删除除“。”之外的所有非数字和所有标点符号。
- html - 选项卡焦点不适用于可访问性的离子标签
- python - 如何在 Windows 上使用 cython 编译 __init__.py 文件
- apache-kafka - 是否有任何 api 或工具可以获取 kafka 主题中的摄取率
- clojure - 为什么我的端点没有在 Clojure 中使用 ring 传递标头/cookie 并按预期响应?
- f# - 如何修复 Giraffe API 返回的空对象通过 SqlDataProvider 从数据库中获取
- hadoop - 为什么我的 hadoop 无法理解 -chmod 命令?
- php - 在 Wordpress 中找不到 style.css