【问题标题】:javascript form submit is not working in httpsjavascript表单提交在https中不起作用
【发布时间】:2016-08-29 01:40:45
【问题描述】:

javascript 提交在 https 中不起作用。

javascript 代码

function apply()
{
    document.fileinfo.action='<%=uploadJSP%>';
    // uploadJSP = https://localhost/upload.jsp
    document.fileinfo.submit();
}

html代码

<form name="fileinfo" action="upload.jsp" enctype="multipart/form-data" method="post">
...
</form>

在 IE 开发工具上捕获新网络的结果,

...
DOMContentLoaded (event)‎‎  + 184ms -   
Load (event)‎‎  + 197ms -

加载(事件)中断

这段代码在http上正常运行(uploadJSP = http://loaclhost/upload.jsp)

我不知道出了什么问题。
请建议我解决这个问题

【问题讨论】:

  • 请定义“不工作”。请提供其他网络/控制台错误。这不是简单的 http/https(混合内容)不匹配吗?
  • 不工作是没有响应错误页面。控制台错误是 DOM7011:此页面上的代码禁用了前后缓存。我发现控制台错误,但我无法解决。 http 和 https 都是有效的 url。

标签: javascript https form-submit


【解决方案1】:

首先, 您是否尝试在分配 = "&lt;%=uploadJSP%&gt;" 后的第一个 sn-p 中打印 document.fileinfo.action 的值?

&lt;%= {code} %&gt; 仅在服务器发送 html 文档时处理,因此如果您的脚本与 html 位于单独的文件中,或者您的服务器不处理 &lt;script&gt; 标记之间的代码,则使用 document.fileinfo.action = "&lt;%=uploadJSP%&gt;" 而不是document.fileinfo.action = "https://localhost/upload.jsp" 符合预期。

其次,您不需要在 javascript 中再次为表单设置操作,因为它已经在 html 中设置。因此,与其担心如何在第一个 sn-p 中传递正确的值,我建议完全删除 document.fileinfo.action = "&lt;%=uploadJSP%&gt;" 行。

【讨论】:

    猜你喜欢
    • 2014-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-10
    相关资源
    最近更新 更多