jquery加载的问题

时间:2011-07-15 12:57:21

标签: javascript jquery load

我设置了一个js小提琴 - 只是一个简单的jquery加载函数,它将一个url的内容加载到div中,但它不起作用。如果我直接访问URL,它可以正常工作。什么想法可能会出错?

http://jsfiddle.net/heaversm/jLaPr/

3 个答案:

答案 0 :(得分:3)

问题是该url位于另一台服务器上,您无法访问它。如果您想要调用它,则应使用$.ajax()并将crossDomain选项设置为true

取自load()的文档:

  

由于浏览器安全限制,大多数“Ajax”请求都遵循相同的原始策略;请求无法成功   从不同的域,子域或协议中检索数据。

答案 1 :(得分:1)

由于浏览器的限制,大多数Ajax请求都受“同源策略”的约束。这意味着在大多数情况下,您无法使用jQuerys ajax方法从外部域获取数据,而无需使用Proxy,YQL,JSONP或等效技术来解决此问题。

你应该考虑使用这个: https://github.com/jamespadolsey/jQuery-Plugins/blob/master/cross-domain-ajax/jquery.xdomainajax.js

使用此插件应该允许你的问题中的ajax示例。

另一种选择是使用服务器端代理,然后使用ajax请求该页面。如果您的服务器可以运行PHP,请尝试使用Google搜索“php ajax proxy”等内容,您将获得大量结果。

答案 2 :(得分:0)

这绝对是一个浏览器限制(http://api.jquery.com/load#notes-0):

  

由于浏览器安全限制,大多数“Ajax”请求都遵循相同的原始策略;请求无法成功从其他域,子域或协议中检索数据。