使用ajax加载外部资源的更好方法是什么?

时间:2011-12-14 18:31:41

标签: jquery ajax api load

我需要从其他服务器(如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']);

我们在这些案件中的表现如何?

1 个答案:

答案 0 :(得分:1)

CSS可以使用<link>标记进行跨域转移,您可以在javascript中生成并附加到<head>,脚本可以像css一样附加到<head>或使用加载jquery的$.getScript,可以使用jsonp使用jquery的$.ajax$.getJSON来传输数据。

任何其他形式的数据都需要服务器端代理。

我个人更喜欢在传输数据时使用jsonp,但是当不可能时,唯一的另一种选择是服务器端代理。