我正在对第三方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内容,但重定向没有发生。
请建议。
答案 0 :(得分:0)
不是发出ajax请求,而是将/ rewards / sso调用加载到iframe中。当它返回html时,它将触发body onload