【问题标题】:How do I redirect a page into an error page如何将页面重定向到错误页面
【发布时间】:2016-02-18 05:34:47
【问题描述】:

所以这是我的代码,我希望它重定向页面,如果用户没有输入任何内容,然后按“添加”。我需要帮助 {% 扩展“base.html”%}

    {% block content %}

    <form>
        <h2>Add a Food</h2>
        <input type="text" name="food">
        {% if items %}
            {% for item in items %}
              <input type="hidden" name="food" value="{{item}}">
            {% endfor %}
        {% endif %}
        <button>Add</button>

            <br>
            <br>

            <h2>Shopping List</h2>
            <ul>
                {% if items %}
                    {% for item in items %}

                {% for item in items %}
                    <li>{{ item }}</li>
                {% endfor %}
                    <h3>comments</h3>
                    {% for comement in item %}
                        <li>{{ comment }}</li>
                    {% endfor %}
            </ul>
    </form>

    {% endblock %}

【问题讨论】:

  • 为什么要将其重定向到错误页面而不是提醒用户输入内容?
  • 啊这真是个好主意!谢谢,但我确实想学习如何做到这一点
  • 只需为按钮标签设置一个 id 并添加一个类似$('#button').click(function(){ ... })的脚本
  • 谢谢你,我认为这有帮助,以及下面这位绅士的友好回答

标签: python html redirect


【解决方案1】:

重定向实际上不会进入表单的 HTML 页面(如果您正在发出 HTML,那就太迟了),而是进入表单目标的 HTTP 处理程序。也就是说,如果您的表单如下所示:

 <form action="/form/submission" method="post">

...“/form/submission”的处理程序将执行此重定向。也就是说,它会发出:

HTTP/1.1 303 See Other 
Location: http://your.server.com/path/to/error

代替:

HTTP/1.1 200 OK
Content-Type: text/html
... (content here) ...

如何在处理程序中执行此操作将取决于特定的服务器环境和框架。对于 webapp2 和 Google App Engine,它看起来像这样:

class PostHandler(webapp2.RequestHandler):

   def post(self):
      if missing_inputs(self.request):
         self.response.redirect_to(new_location)
      process_form_submission(self.request)

但是,为了提供更具体的帮助,我们需要了解服务器端技术。

还可以在客户端上执行“重定向”,方法是包含分配给变量window.location.href 的JavaScript;但是,如果您在 JavaScript 中进行了验证,那么在当前页面上注释错误会更有意义(例如,在表单上方显示/显示错误消息),而不是将用户带到完全不同的页面。在 JavaScript 中执行此操作。

【讨论】:

    猜你喜欢
    • 2021-12-20
    • 2010-12-16
    • 2012-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-18
    • 2014-05-15
    • 2023-03-27
    相关资源
    最近更新 更多