我有我的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
作为两个独立的域名......尽管两个网站都是相同的网站。 api只是get请求到达的文件夹。
我有两个选项可供我使用。 任一..
.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) {});
这会给我一个我无法跨域发布的错误
虽然该网站是同一个网站,但网址却不同..我需要访问此文件..
inc_appdl_main which sits on the same root directory...is there a way?
答案 0 :(得分:1)
在inc_appdl_main.php中设置header()以允许跨源请求
header('Access-Control-Allow-Origin: *');
答案 1 :(得分:1)
一些可能的解决方案:
配置您的服务器,以便它可以接受http://api.example.com/inc_appdl_main.php
的请求,并将其作为http://example.com/inc_appdl_main.php"
进行处理。这可能是最简单的,因为您可以控制服务器。
如果api.example.com
的回复是HTML网页,请向其添加JavaScript以将document.domain
设置为example.com
。
要求您的用户使用Cross-Origin Resource Sharing(CORS)compatible browser并在服务器上回复CORS预检请求等。