jRicca
jRicca

Reputation: 625

How to send parameter to Iframe with a HTTP POST request

I have to send some parameter to an IFRAME with POST method. I have read here Setting the HTTP request type of an <iframe> that it isn't possible. I'm thinking a solution in Javascript but I can't implement it so I can't test if it is a valid solution for this issue. I want to ask if someone has the same problem and if it is possible to solve and in positive case how to?

Upvotes: 43

Views: 100648

Answers (4)

Eugene
Eugene

Reputation: 1535

Proposed solution works almost fine in my case, problem is that my form submitting returns an authorization cookie. Website that is rendering iframe is located on different domain that iframe website and this method returns me an error that I can't set the cookies. Is there a secure way to fix this?

enter image description here

Upvotes: 0

user3420157
user3420157

Reputation: 241

Just to give a concrete working example

<form id="loginForm" target="myFrame"  action="https://localhost/j_spring_security_check" method="POST">
 <input type="text" name="j_username" value="login" />
 <input type="text" name="j_password" value="password" />
 <input type="submit">
</form>

<iframe name="myFrame" src="#">
   Your browser does not support inline frames.
</iframe>

// Hide the form and do the submit 
<script>
 $(document).ready(function(){
 var loginform= document.getElementById("loginForm");
 loginform.style.display = "none";
 loginform.submit();
});
</script>

Upvotes: 24

KishoreK
KishoreK

Reputation: 962

How about using the target attribute of the form to point to iFrame?

 <form target="myIframe" action="http://localhost/post.php" method="post">
    <input type="hidden" value="someval" />
    <input type="submit">
</form>

<iFrame src="" name="myIframe"></iFrame>

Upvotes: 32

GorillaMoe
GorillaMoe

Reputation: 4134

<form ... target="hidden_iframe">
...
</form>

<iframe name="hidden_iframe" ...></iframe>

Upvotes: 63

Related Questions