0

我有这样的 iframe:

<iframe src="http://api.example.com/html/31" id="fa-iframe" scrolling="No" frameborder="0" style="height: 513px; width: 597px; "></iframe>

和这样的javascript:

$.get("/inc_appdl_main.php", { id=args },function(data) {});

该网站是http://example.com...

我想在我的目录inc_appdl_main.php 中访问这个文件。

但是,当我提出请求时,.. 互联网不允许我因为它解释:

http://example.com

http://api.example.com

作为两个单独的域..尽管两者都是相同的站点..具有不同的 url。api 只是获取请求到达的文件夹。

我有两个选项可以在我的获取中使用。任何一个..

.get(" http://api.example.com/inc_appdl_main.php", { id=args },function(data) {});

这会给我“404”

或者

 .get(" http://example.com/inc_appdl_main.php", { id=args },function(data) {});

这会给我一个无法跨域发布的错误

虽然站点是同一个站点,但 url 不同.. 我需要访问这个文件..

inc_appdl_main which sits on the same root directory...is there a way?
4

2 回答 2

1

几个可能的解决方案:

  1. 配置您的服务器,使其能够接受 的请求http://api.example.com/inc_appdl_main.php,并像处理它一样处理它http://example.com/inc_appdl_main.php"。这可能是最简单的,因为您可以控制服务器。

  2. 如果来自的响应api.example.com是 HTML 页面,则将 JavaScript 添加到它以设置document.domainexample.com.

  3. 要求您的用户使用与跨域资源共享(CORS)兼容的浏览器,并在服务器上回复 CORS 预检请求等。

于 2012-04-18T09:12:22.530 回答
1

在 inc_appdl_main.php 中设置 header() 以允许跨源请求

header('Access-Control-Allow-Origin: *');
于 2012-04-18T09:11:23.300 回答