我有特定的场景可以使用,对许多开发人员来说很有趣也很有帮助,我有js文件和一个php文件,在js文件中代码AJAX,使用http请求发送参数到php文件并获得响应。
现在我有2个域名
第1个域
我有数据库,存储一些HTML代码,可以创建AJAX以将数据从数据库获取到Javascript文件。
第二个域
我想使用Javascript或AJAX
显示来自第一个域数据库的HTML代码有没有办法做这种伎俩?
答案 0 :(得分:0)
您需要使用CORS technology,同时查看jsonp
维基百科来源:
跨源资源共享(CORS)是一种允许从资源源自域外的另一个域请求网页上的许多资源(例如,字体,JavaScript等)的机制。特别是,JavaScript的AJAX调用可以使用XMLHttpRequest机制。根据相同的原始安全策略,Web浏览器将禁止此类“跨域”请求。 CORS定义了浏览器和服务器可以交互以确定是否允许跨源请求的方式。它比仅允许同源请求更有用,但它比简单地允许所有这样的跨源请求更安全。
简单示例:
要启动跨源请求,浏览器会使用Origin HTTP标头发送请求。此标头的值是为页面提供服务的域。例如,假设来自http://www.example-social-network.com的页面尝试访问online-personal-calendar.com中的用户数据。如果用户的浏览器实现了CORS,则会将以下请求标头发送到online-personal-calendar.com:
Origin: http://www.example-social-network.com
如果online-personal-calendar.com允许该请求,它会在其响应中发送一个Access-Control-Allow-Origin(ACAO)标头。标头的值指示允许的源站点。例如,对先前请求的响应可能包含以下内容:
Access-Control-Allow-Origin: http://www.example-social-network.com
如果服务器不允许跨源请求,浏览器将向example-social-network.com页面发送错误,而不是online-personal-calendar.com响应。
要允许所有域的访问,服务器可以发送以下响应头:
Access-Control-Allow-Origin: *
浏览器支持:
基于以下布局引擎的所有浏览器都支持CORS:
以下浏览器在缺乏CORS支持方面也值得注意: 1. Camino没有在2.0.x版本系列中实现CORS,因为这些版本基于Gecko 1.9.0。 2.从版本0.10.2开始,Arora公开了WebKit与CORS相关的API,但尝试的跨源请求将失败。
答案 1 :(得分:0)
您可以在服务器端编写一个包装器脚本来调用第二个域,然后只需调用您的脚本。