suchen

Heim  >  Fragen und Antworten  >  Hauptteil

IFrame übergibt POST-Parameter.

Ich habe eine API wie http://XXX/test, die nur POST-Anfragen unterstützt. Sie müssen Parameter wie die folgenden übergeben, um die Ergebnisse zu erhalten.

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

Da diese API eine HTML-Seite zurückgibt, wird sie mithilfe eines Iframes implementiert. Wenn es sich ursprünglich um eine GET-Anfrage handelte, legen Sie einfach die Quelle des Iframes auf diese API fest. Diese API unterstützt jedoch nur POST-Anfragen Ich habe nach Lösungen gesucht und festgestellt, dass diese Funktion in Form eines Formulars implementiert werden kann. Der Code ähnelt dem folgenden.

<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>

Aber wie übergibt man hier die Parameter im Formular? Die Parameter, die ich übergeben möchte, sind keine einfachen Schlüsselwertzuordnungen. Was soll ich tun?

仅有的幸福仅有的幸福2796 Tage vor486

Antworte allen(2)Ich werde antworten

  • PHP中文网

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

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

    Antwort
    0
  • 阿神

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

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

    Antwort
    0
  • StornierenAntwort