0

我正在对第 3 方 Web 服务进行 ajax 调用,该服务在作为响应的字段之一中返回完整的 HTML 集。返回的 HTML 有一个逻辑,在 body 的 onload 事件中,它将向他们的 servlet 提交一个表单。

这是我的网络服务响应:

<rewardresponse>
  <redirectHTML>
   <html>
   <head></head>
   <body onload="document.forms.ssoForm.submit();">
     <form id="ssoForm" action="www.thirdparty.com/SSO/SingleSignOnServlet">
       <input type="hidden" name="customerID" value="1202020"/>
     </form>
   </body>
   </html>
  </redirectHTML>
</rewardresponse>

这是我的 ajax 调用:

       $.ajax({
          url     : '/rewards/sso',
          type    : 'GET',
          dataType:'json',
          success : function(response){
                  //document.write(response.redirectHTML);
                  document.documentElement.innerHTML = response.redirectHTML;
          }
       })

我已经尝试过 document.write 和 innerHTML 的东西,两者都不起作用。它正在更改 html 内容,但没有发生重定向。

请建议。

4

1 回答 1

0

将 /rewards/sso 调用加载到 iframe 中,而不是发出 ajax 请求。返回html时会触发body onload

于 2013-07-26T17:51:10.113 回答