javascript - IFrame传入POST参数。
仅有的幸福
仅有的幸福 2017-05-19 10:46:28
0
2
494

我有一个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映射,要怎么做呢?

仅有的幸福
仅有的幸福

全部回复(2)
洪涛

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

阿神

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板