我有一个主页。用户提交表单数据后,我想先将数据发送到第 3 方服务器(没有 API,他们只提供网页,这意味着我将表单提交给第 3 方我们的服务提供商 process.aspx 页面)。得到结果后,我想使用部分内容,渲染它并在我唯一的网页上使用。向第三方服务器提交表单的默认行为是在我向他们提交表单后,他们将我重定向到他们的进度网页。由于表单处理耗时较长,因此用户在最终搜索结果 (result.aspx) 返回之前会看到此进度页面。
为了只使用第三方最终搜索结果页面而不被重定向,我尝试了以下方法,但由于不同的原因,它们都没有成功。
在客户端,我使用了隐藏的 iframe,但由于 iframe 安全限制,包含页面(我的主页)无法使用 javascript 来检测 iframe 页面何时完成加载最终结果页面,因为域不一样(跨域通信是不允许使用 iframe)
我将表单数据发送到我们的服务器,使用 curl 将表单从我们的服务器提交到第 3 方 Web 服务器。问题是 curl 返回的结果是进度页面,而 curl 无法作为浏览器执行 javascript(进度页面有 javascript),我无法执行进度页面以获取最终价格页面。
在客户端使用 Ajax,同样的问题,“Access-Control-Not-Allowed”不允许跨域通信,因为请求页面和主页不是来自同一来源。
(效率不高,但可以选择)在服务器上使用 htmlunit 之类的无浏览器工具,因此我可以使用 java 程序获得最终价格页面。但问题是我不允许在我的 Web 服务器上运行 java 程序(由 Web 服务提供商提供)。
有可能实现我想做的事情吗?现在绝望了……有什么建议吗?