38
rated 0 times
[
39]
[
1]
/ answers: 1 / hits: 18623
/ 13 Years ago, wed, june 8, 2011, 12:00:00
I want to post some data to another domain with the enctype equal to multipart/form-data, because I want the unmodified data in the server side.
Here is my test code:
<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)>
The request in chrome is:
...
Content-Type:multipart/form-data; boundary=----WebKitFormBoundary9zCD31eJSHkdb8ul
...
------WebKitFormBoundary9zCD31eJSHkdb8ul
Content-Disposition: form-data; name=request
a
b
o
------WebKitFormBoundary9zCD31eJSHkdb8ul--
But in IE9:
POST /add HTTP/1.1
...
Content-Type: application/x-www-form-urlencoded
...
request=a%0D%0A%0D%0Ab%0D%0A%0D%0Ao
Any of your help will be appreciated!
More From » forms