通过在body onload上提交表单来重定向到新页面

时间:2013-07-26 17:46:57

标签: javascript jquery ajax redirect

我正在对第三方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内容,但重定向没有发生。

请建议。

1 个答案:

答案 0 :(得分:0)

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