我需要从其他服务器(如css,模板,数据)加载外部资源......但我不知道这样做的更好方法是什么。 当然,当我们加载外部文件时,存在Access-Control-Allow-Origin问题。
所以,解决方案是:
- jsonp
- 允许使用proxy.php进行转移,例如:
// If I want style.css the url for ajax call is /proxy.php?file=style.css
header('Access-Control-Allow-Origin: '.$_SERVER['HTTP_ORIGIN']);
echo file_get_contents($_GET['file']);
我们在这些案件中的表现如何?
答案 0 :(得分:1)
CSS可以使用<link>
标记进行跨域转移,您可以在javascript中生成并附加到<head>
,脚本可以像css一样附加到<head>
或使用加载jquery的$.getScript
,可以使用jsonp
使用jquery的$.ajax
或$.getJSON
来传输数据。
任何其他形式的数据都需要服务器端代理。
我个人更喜欢在传输数据时使用jsonp
,但是当不可能时,唯一的另一种选择是服务器端代理。