【发布时间】:2012-08-27 02:12:48
【问题描述】:
这是场景,
我在abc.com 中有一个main.js 文件,它可以通过$.post("index.php") 访问来自同一域(abc.com) 的index.php 的内容。
这很好用,因为它是同一个域 ajax 调用。
但是现在,任何人都可以在他们的网站中加入main.js(比如域xyz.com)。
现在,路径index.php(在$.post("index.php") 中)指的是域xyz.com(不是abc.com)中的文件。如果我放一个绝对路径 http://www.abc.com/index.php ,这在某些浏览器中不起作用(跨域 ajax 限制)
现在,
如果我将允许跨域的标头放在 php 文件中,它也不起作用,在 ie 7 及以下版本中失败。
附言我需要将内容放在 index.php 文件中(而不是 main.js 中)。另外,我不想包含一个 php 文件
<script type='text/javascript' src='http://abc.com/index.php'></script>
而且我不希望在服务器中添加.js 文件以将其视为php 文件(这样我就可以将php 代码放入js 文件中)。
内容巨大,我不能做get请求或者jsonp(我觉得,jsonp不允许大数据)
我错过了什么吗?我怎样才能做到这一点?
【问题讨论】:
标签: javascript jquery ajax cross-browser cross-domain