我有一个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映射,要怎么做呢?
PHP中文网2017-05-19 10:48:28
表单传参只支持key-value的形式。老老实实用ajax,如果跨域了,接口不支持跨域的,那就只能后端处理下,如果返回的html觉得麻烦,那就把html文本设为iframe的内容。然后dom查询就好了