1

这是场景,

我有一个main.js文件,可以在abc.com其中$.post("index.php")访问index.php来自同一域 ( abc.com) 的内容。

这很好用,因为它是同一个域 ajax 调用。

但是现在,任何人都可以加入main.js他们的网站(比如 domain xyz.com)。

现在,路径index.php(in $.post("index.php")) 指的是域中的文件xyz.com(not abc.com)。如果我放一个绝对路径http://www.abc.com/index.php,这在某些浏览器中不起作用(跨域 ajax 限制)

现在,

如果我将允许跨域的标头放在 php 文件中,它也不起作用,在 ie 7 及以下版本中失败。

ps 我需要将内容放在 index.php 文件中(不在 main.js 中)。另外,我不想包含一个 php 文件

<script type='text/javascript' src='http://abc.com/index.php'></script>

而且我不希望在服务器中添加.js文件以将其视为php文件(因此我可以将 php 代码放入 js 文件中)。

内容很大,我不能做get请求或jsonp(我认为,jsonp不允许大数据)

我错过了什么吗?我怎样才能做到这一点?

4

3 回答 3

1

您可以使用JSONPCORS来实现此目的。

我用过 JSONP,下周打算试试 CORS。我认为 CORS 仍然是异步的,所以这对我来说可能有优势。至少这是我的希望...

于 2012-09-01T16:00:02.380 回答
0

我认为你需要去server side solution。在 php 中读取文件(即index.php)并保存所需的输出以用于 ahidden field和 DOM 就绪 您可以使用来自该隐藏字段的数据。

于 2012-09-01T16:08:59.337 回答
0

服务器端的 curl 请求也应该可以工作。我会说先尝试 JSONP,但如果它不起作用,请使用 curl 请求

于 2012-09-01T16:17:09.167 回答