jQuery load()不使用http但使用本地文件

时间:2013-09-04 20:01:37

标签: jquery

我有一个简单的功能:

function goCV(what){ //'what' = htm filename 
  $('#cv_load_entry').load("http://<domain_name>/" + what);
}

当文件是本地文件(在我的机器上具有相对引用或与服务器上的链接文件相同的目录中)时,该功能正常工作。但是当我尝试使用绝对引用(使用http://domain_name/filename.htm)时,它不起作用;并且Firebug以红色显示GET(但不告诉我通过阅读标题可以识别出什么问题。)

当我使用相对引用从服务器执行脚本时,我在Firebug中查看成功的GET信息时,它显示完整的URL,与使用预先设置为filename变量的“http”部分发送的完全相同。

我很难过。

PS:我正在使用http://code.jquery.com/jquery-latest.js

更新:我怀疑这是一个跨域问题。我将尝试在Why doesn't jquery .load() load a text file from an external website?

上找到proxy.php的想法

问题已解决:http://christianheilmann.com/2010/01/10/loading-external-content-with-ajax-using-jquery-and-yql/

2 个答案:

答案 0 :(得分:1)

最有可能是跨域问题(您可以通过将域更改为您的网页所在的域来进行测试;脚本应该开始工作)。如果您控制远程服务器,或者它支持远程AJAX请求,您可以使用CORSJSONP来访问数据。否则,您将需要一个代理。

答案 1 :(得分:0)

试试这个: -

<script type="text/javascript">
   jQuery(document).ready(goCV(what){
       jQuery("#cv_load_entry").load("http://<domain_name>/" + what);
   });
</script>