Can’t POST data in Internet Explorer
Thursday, June 16th, 2005I’ve found another bug in Flash. I wanted to POST to another site through getURL (I need open new window with some statistics, and must post data as input). I’m using FireFox, but this application must work in IE, so I’ve tested it in there and data was not POSTed. Through GET it works. So I’ve tried many possible solutions, and finally I’ve found, that this is problem of FRAMESET in IE. I’ve tested only IE and FireFox. If you can, please test it with another browsers, and let me know.
Examples:
It executes getURL with 3 variables, they will be parsed in new window. That’s all.
Here are 2 links:
Test them in both browser. All shoud be ok, except IE with FRAMESET won’t work. Hopefuly it is not problem of my computer
Let me know results of your tests.
Thanks.
tagged under:






6 Comments
Shannon
• Visit Site
June 16th, 2005
Tis true, POST to IE with Frameset doesn’t show the array variables. I only see “Array()”
-s
Administrator
• Visit Site
June 16th, 2005
Yes, but why?
Administrator
• Visit Site
June 16th, 2005
This is answer from Flashcoders mailinglist:
Bernard Visscher
Hmmm weird!
The data is posted, but not correctly…
< ?phpEcho $HTTP_RAW_POST_DATA;
?>
Kevin
• Visit Site
January 30th, 2008
Using ASP and a test of LoadVars (Flash 6)
GET works but POST doesn’t - I can’t see the data posted incorrectly using Request.ServerVariables(”ALL_RAW”)
Geoff
• Visit Site
April 10th, 2008
IE definitely has a POST bug. We face it all the time and it drives me crazy. One way around it is for the server to respond with a 401 header which forces IE for POST again. But this doesn’t work well with AJAX. Sometimes clearing the cache helps but the problem comes back. I think version 7 still has this issue. Crap browser.
P.S. Cam across this page while searching for solution. We don’t use Flash.
Steve
• Visit Site
June 16th, 2009
The technical reason for this is the lack of a content-type header. I can’t determine if this is a bug in IE, a bug in the ActiveX Flash Player, or a combination of both. When I use Fiddler to inspect the requests, I can clearly see that the only difference between requests from inside a frame and requests from a standalone page are that the requests from inside a frame do not include the content type header. The content type header should look like this for a POST request:
Content-Type: application/x-www-form-urlencoded
Since the request omits this header, the server does not decode the request body (which contains the submitted data). This is the reason why in PHP you can see the request body inside the raw request data, but since it lacks a content-type header PHP does not automatically decode the content and stick it in $_POST. At least PHP allows a sort of workaround there, I’m trying to do this with an ASP classic page as the processor and I don’t seem to have access to the request body, only the headers.
I’m looking for a solution for this, but my experience with Adobe (and Macromedia before them) was that they are very slow to respond to most bugs that people report in the Flash player, Flash player bugs are typically known about for many years before they get fixed. What’s worse, I can’t even verify whether this is a problem with IE alone, or with the Flash player for IE, or a combination of both.
Live Preview
Leave a comment