HTML表单通过GET而不是POST发送数据

Adm*_*and 3 html post get

这很奇怪,但我的HTML表单通过GET发送数据,而不是POST.

    <form name="mistake" action="http://web-server.com:8888/WebApp/Email/Create" method=post>
  <input type="text" name="url" size="50" readonly="readonly">
          <br />
          <span class="text">
          Error :
          </span>
          <br /> 
          <textarea rows="5" name="mis" cols="37" readonly="readonly"></textarea> 
          <br />
          <span class="text">
          Comment :
          </span>
          <br /> 
          <textarea rows="5" name="comment" cols="37"></textarea> 

          <input type="hidden" name="email" value="admin@admin.com">
          <input type="hidden" name="subject" value="Errors">
          <div style="margin-top: 7px"><input type="submit" value="Submit">
          <input onclick="hide()" type="button" value="Close" id="close" name="close"> 
          </div>
</form> 
Run Code Online (Sandbox Code Playgroud)

我使用标准选项在IE10上测试它.
HTML表单非常简单,我只写了很少的代码示例.
怎么解决?
谢谢!

PS更改URL.此URL web-server.com:8888/WebApp/Email/Create - 属于asp mvc app.

当我运行我的网络应用程序和本地机器上的静态网站 - 它的工作原理.但是当我在本地机器上运行静态页面 - 而在服务器上运行mvc时 - 它不起作用.

PPS-形式的这种变体是起源的(我削减了一些标签).现在它起源于.

我不知道为什么,但它的确有效.可能是 - 服务器端的问题?

Bar*_*ant 14

问题相当普遍,答案难以捉摸:

你代码中的某个地方有一个孤儿<form>.这意味着下一个表单嵌套在前一个表单中,并忽略其方法.删除或关闭多余的<form>,你就完成了.


aca*_*lon 5

它应该是一个帖子(假设您仅在示例中忘记了结束标记).我添加了您的代码并将结束标记放在html文件中并在Chrome中提交.这是我在网络跟踪中看到的:

在此输入图像描述

如果你做同样的事情,还要看看这个问题.


eel*_*EEz 5

我正在使用的 Web 应用程序框架会自动将操作 URL 的 POST 请求重定向到带有尾部斜杠的同一 URL。HTTP 重定向将 POST 降级为 GET。