我有一个ASP。NET MVC 3网站,需要在弹出窗口中显示卡片验证页面。卡验证页面实际上是在外部网站,我不能改变它。其中一个要求是,我必须做一个POST请求的外部页面,并通过自定义标题,以便预先填充卡号到他们的文本框。我尝试使用javascript .ajax调用,但返回
XMLHttpRequest cannot load ...
,因为他们没有启用跨域访问。如果我使用自定义动作和内部的一个web客户端做一个帖子,然后下载一个响应字符串,然后传递回一个视图,它并不真正工作,因为我得到纯html源从他们的页面,它失去了所有的相对引用,他们有脚本和css文件,因为他们现在指向我的网站。有什么办法吗?理想情况下,我想加载他们的页面与POST请求到一些iframe
你可以做的就是打开弹出窗口,并从你的网站加载弹出窗口的初始内容。该内容包含一个隐藏表单,其中包含需要被POST
-ed到卡验证服务的所有数据。页面加载后(即文档准备好了),你使用javascript自动提交隐藏的表单。如果javascript是不可用的(<noscript>...</noscript>
),你可以显示一个简单的提交按钮,用户需要点击提交隐藏的表单。