跨域/跨浏览器,ajax调用

时间:2012-09-01 15:58:31

标签: javascript jquery ajax cross-browser cross-domain

这是方案,

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

这很好用,因为它是相同的域ajax调用。

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

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

现在,

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

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

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

我不想在服务器中添加.js文件作为php文件处理(所以我可以将php代码放在js文件中)。

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

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

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

服务器端的curl请求也应该有效。我首先尝试使用JSONP,但如果它不起作用,请转到卷曲请求

相关问题