【问题标题】:enctype = "multipart/form-data" works different between ie9 and chromeenctype = "multipart/form-data" 在 ie9 和 chrome 之间的工作方式不同
【发布时间】:2011-06-08 12:34:00
【问题描述】:

我想将一些数据发布到另一个域,其 enctype 等于 multipart/form-data,因为我想要服务器端未修改的数据。 这是我的测试代码:

<textarea name="txt" rows="20" cols="80">
</textarea>
<script>
function x_domain_post(url, data)
{
    var dd = document.createElement('div');
    var ifrname = "client_proxy";
    dd.innerHTML = "<iframe id='" + ifrname + "' name='" + ifrname + "' width=0 height=0 ></iframe>";
    document.getElementsByTagName('body')[0].appendChild(dd);
    var ifr = document.getElementById(ifrname);

    var f = document.createElement('form');
    f.action = url;
    f.method = "post";
    f.enctype = "multipart/form-data";
    f.target = ifr.name;
    f.innerHTML = f.innerHTML + "<textarea name='request'>default</textarea>";
    document.getElementsByTagName("body")[0].appendChild(f);
    document.getElementsByName("request")[0].value=data;
    f.submit()
    setTimeout(function(){document.getElementsByTagName("body")[0].removeChild(f);}, 1000);
}

</script>
<button onclick="x_domain_post('http://192.168.232.128/add', document.getElementsByName('txt')[0].value)">

chrome中的请求是:

...
Content-Type:multipart/form-data; boundary=----WebKitFormBoundary9zCD31eJSHkdb8ul
...
------WebKitFormBoundary9zCD31eJSHkdb8ul
Content-Disposition: form-data; name="request"

a

b

o
------WebKitFormBoundary9zCD31eJSHkdb8ul--

但在 IE9 中:

POST /add HTTP/1.1
...
Content-Type: application/x-www-form-urlencoded
...
request=a%0D%0A%0D%0Ab%0D%0A%0D%0Ao

您的任何帮助将不胜感激!

【问题讨论】:

    标签: javascript forms cross-domain multipartform-data


    【解决方案1】:

    这有帮助吗?

    http://www.bennadel.com/blog/1273-Setting-Form-EncType-Dynamically-To-Multipart-Form-Data-In-IE-Internet-Explorer-.htm

    显然在 IE 中,您必须设置 形式的“编码”而不是 “编码”。好消息是,你可以 毫无顾忌地设置这两个值和 这将解决问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-25
      • 2017-12-17
      • 2016-04-02
      • 1970-01-01
      相关资源
      最近更新 更多