1

使用 WAMP localhost 运行这个简单的 AJAX,我可以从网址中提取 JSON。

$(document).ready(function(){
   $.ajax({
      url: 'http://time.jsontest.com/',
      dataType: 'jsonp', 
      success: function(json) 
      {
          console.log(json);
      }
  });
});

但是,如果我尝试通过浏览器正常运行,我无法连接,这是为什么呢?

谷歌 CDN:

<src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js">
4

3 回答 3

1

如果通过“标准浏览器”表示您正在通过file://URL 查看页面,那么是的,srcscript标签无法正常工作。

以 开头的 URL//相对协议的 URL。就像/foo是相对于当前协议、服务器和端口,//是相对于协议。所以它继承了包含文档的协议。

这通常用于使您使用httphttps用于依赖于容器文件的脚本。但是,如果您这样做并且您使用的是本地文件(file协议),那么您的相对 URL 最终会解析为:

文件://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js

...这是行不通的(好吧,除非您在文件系统的根目录中有一个名为 ajax.googleapis.com 的目录,其子目录 ajax 包含包含包含 1.10.1 的 jquery 的库,其中包含该文件)。

只需在 URL 中放置http:orhttps:之前//使其成为绝对值。

于 2013-06-24T14:33:41.900 回答
0

我唯一能想到的是,您使用的是 jQuery 的本地副本,并且相对于您上传它的位置,它在服务器上不存在?你有什么错误吗?

于 2013-06-24T14:00:37.453 回答
-2

您的本地服务器充当编译器。只是在没有服务器的情况下在浏览器上运行它意味着没有编译器。没有编译器没有成功执行

只是一个有争议的理论。我希望你觉得这对你有帮助

于 2013-06-24T14:03:08.307 回答