【问题标题】:Submit form and stay on same page with target='_top'提交表单并使用 target='_top' 留在同一页面上
【发布时间】:2019-07-30 11:29:52
【问题描述】:

这是我在 domain1 上的表单:

<form id ='myForm' action='domain2' method='GET' target='_top'>
<input type='hidden' name='id' value='00345897'>
<input type='hidden' name='status' value='Success'>
<input type="submit" value="Submit">
</form>

现在,当我提交表单时,它会转到操作中提到的 domain2。是否可以将响应返回到 domain1?如果目标属性是“_self”或者我删除了目标属性,我会收到响应。但是使用 target='_top' 页面被重定向到 domain2。如何将响应返回到 domain1?谢谢。

【问题讨论】:

    标签: javascript forms rest jsp servlets


    【解决方案1】:

    响应只能发送到作出响应的浏览器

    如果您不指定target,那么它将出现在与上面有表单的页面相同的窗口或框架中(替换上面有表单的页面)。

    如果您指定target="_top",那么它将出现在顶层框架中替换它。

    如果您想将数据发送到发出请求的站点,那么您需要:

    • 从 domain1 的 服务器 发出 HTTP 请求,而不是从浏览器
    • 使用 Ajax 向 domain1 发出请求(处理 cross origin issues),然后使用 JavaScript 将数据发送到 domain1。

    【讨论】:

    • 感谢您的回复,但在我的情况下,此表单是动态生成的,因此无法从 domain1 进行 ajax 调用。您提到响应将出现在顶级框架中,现在我可以使用 javascript 将此响应返回到 domain1 吗?我尝试使用 parent.psotMessage,但没有成功。
    猜你喜欢
    • 2011-08-09
    • 1970-01-01
    • 2015-08-14
    • 1970-01-01
    • 2013-06-24
    • 2015-01-02
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多