1

我有一个 ASP.NET MVC 3 网站,需要在弹出窗口中显示卡验证页面。卡验证页面实际上在外部网站上,我无法更改它。要求之一是我必须向该外部页面发出 POST 请求并传递自定义标题,以便将卡号预填充到其文本框中。我尝试起诉 javascript .ajax 调用,但返回

XMLHttpRequest cannot load ...

因为他们没有启用跨域访问。如果我使用自定义 Action 并在其中使用 webclient 发布帖子,然后下载响应字符串,然后将其传递回视图,则它实际上不起作用,因为我从他们的页面获取纯 html 源并且它丢失了他们的所有相关引用必须脚本和 css 文件,因为它们现在指向我的网站。有什么办法吗?理想情况下,我想将带有 POST 请求的页面加载到某个 iframe 中

4

1 回答 1

1

您可以做的是打开弹出窗口并从您的网站加载弹出窗口的初始内容。此内容包含一个隐藏表单,其中包含需要输入到POST卡验证服务的所有数据。页面加载后(即文档准备就绪),您使用 javascript 自动提交隐藏表单。如果 javascript 不可用(<noscript>...</noscript>),您可以显示一个简单的提交按钮,用户需要单击该按钮来提交隐藏的表单。

于 2013-03-21T12:12:08.490 回答