javascript - IFrame傳入POST參數。
仅有的幸福
仅有的幸福 2017-05-19 10:46:28
0
2
478

我有一個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形式的,不好意思

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板