0

当我尝试使用 Ajax/JQuery 动态刷新页面内容时,我了解了 SOP 问题和限制,但是我想知道是否有办法解决我的小问题。

为了更容易理解,我将首先解释工作流程。

我确实通过电子邮件接收网页,即 HTML 电子邮件。网页以这种方式包含 HTML 表单,一旦表单完成,它就会被发送到适当的 Web 服务器 (php) 以存储数据。

我主要使用 Outlook 2007 作为我的电子邮件客户端(这里不要说什么,我知道!!!),但出于一些安全限制,“打开”电子邮件时禁用了 IFRAMES。我使用 VBA 脚本绕过了这个问题,该脚本复制整个页面内容,将其作为独立网页保存在文件系统上并加载到浏览器 (Firefox) 中。

页面加载到浏览器后,地址栏会显示本地/文件系统 URL,例如

file:///C:/Users/Bob/Desktop/outlookpage.htm

到这里没问题,工作正常;现在的问题:

我希望使用 Ajax 动态更新页面内容jQuery.load,但是这就是 SOP 的用武之地。正在加载以动态更新网页的 PHP 页面被视为在另一个域上运行,因此被阻止。

我想知道如何规避这一点。

4

1 回答 1

1

这是行不通的,因为为了绕过同源策略,您需要在同一域上使用代理,然后该代理将与处理不同域上数据的页面进行通信。没有办法在另一个用户的计算机上生成代理脚本(或者至少,不应该有办法)。我要么只是正常发布表单,这将打开用户的默认浏览器,要么在电子邮件中提供指向在线表单的链接。无论如何都应该提供链接,以防他们的电子邮件客户端不支持 HTML 电子邮件。

于 2010-12-20T17:28:41.590 回答