搜索

首页  >  问答  >  正文

javascript - IFrame传入POST参数。

我有一个API,比如http://XXX/test, 只支持POST请求,需要传类似如下的参数才能拿到结果。

{
    "id": "12",
    "userInfo": {
        "name": "amy",
        "age": "13"       
    },
    "map":[
        {
          "fieldName": "AA",
          "mapName": "AAA"
        },
        {
          "fieldName": "BB",
          "mapName": "BBB"
        }
    ]
}

因为这个API是返回一个html页面的,准备用iframe实现,本来如果是GET请求的话,直接设置iframe的src为这个API就行了,但是这个API只支持POST请求,我就去搜了下解决方法, 发现可以用form表单的形式来实现这个功能。代码类似底下这样子.

<form
      id="moodleform" target="iframe"
      method="post" action="http://www.example.com/login/index.php"
>
    <input type="hidden" name="username" value="guest"/>
    <input type="hidden" name="password" value="guest"/>
    <input type="hidden" name="testcookies" value="1"/>
</form>
<iframe name="iframe"></iframe>
<script type="text/javascript">
    document.getElementById('moodleform').submit();
</script>

但是这里form表单里的参数要怎么传递呀?我要传的参数并不是简单的key-value映射,要怎么做呢?

仅有的幸福仅有的幸福2796 天前484

全部回复(2)我来回复

  • PHP中文网

    PHP中文网2017-05-19 10:48:28

    表单传参只支持key-value的形式。老老实实用ajax,如果跨域了,接口不支持跨域的,那就只能后端处理下,如果返回的html觉得麻烦,那就把html文本设为iframe的内容。然后dom查询就好了

    回复
    0
  • 阿神

    阿神2017-05-19 10:48:28

    是我审题不认真,我这个一样是key-value形式的,不好意思

    回复
    0
  • 取消回复