我有一個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映射,要怎麼做呢?
表單傳參只支持key-value的形式。老實實用ajax,如果跨域了,介面不支援跨域的,那就只能後端處理下,如果回傳的html覺得麻煩,那就把html文字設為iframe的內容。然後dom查詢就好了
是我審題不認真,我這個一樣是key-value形式的,不好意思