Iframe实现的ajax如何实现POST请求?

     曾经看到有人用iframe来实现AJAX,我想了一下,用Iframe怎么实现POST请求呢?想了一个办法,不知道行不行,就是在iframe里面加载一个form页面,parent页面只要把参数设置到这个form的input里面,然后提交表单。这样iframe就可以提交POST请求,返回结果页面了。接下来,只要在结果页面里面调用parent.xxx就可以把结果传递给调用者了。也可以监听iframe.onload事件,然后直接调用iframe里面的结果页面的函数。

 

page A(parent page)

 

function request(url, value, method){

         var oIframe = document.getElementById("myframe");

         var oDoc = oIframe.contentWindow || oIframe.contentDocument;
         if (oDoc.document) {
             oDoc = oDoc.document;
         }

         oIframe.οnlοad=function(){

             alert(oDoc.getElementById("result"));

         }

 

         var form = oDoc.forms[0];

         form.action=url;

         form.method = method;

         form["value"]=value;

 

        form.submit();

}

 

function setResult(rst){

       alert(rst);

}

 

<iframe src="form_page" id="myframe" style="display:none;"/>

 

page B (form_page)

<form action="#" method="post"><input type="text" value="" name="value"/></form>

 

page c1 (Result page 1: parent page get result on it's own initiative )

<div id="result">Success</div>

 

page c2 (Result page 2: result page in iframe give the result back to parent page)

<script>parent.setResult("success")</script>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值