0

我开始使用 jquery 并遇到了 $.ajax(...) 不起作用的小问题。实际上整个jquery,javascript业务一直很艰难,因为在脚本不起作用的情况下解决了问题。这是我的代码...

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
/*  $.ajax({url:"http://reddit.com/r/nyc.json", success:function(result){
    $("div").text("helloz");
    }});*/
        $("div").text("hello");
});
</script>
</head>
<body>

<div><h2>Let AJAX change this text</h2></div>
<button>Change Content</button>
</body>
</html>

正如您在代码中看到的那样,我已经注释掉了 .ajax 函数,而是放置了一些其他代码片段并且它可以正常工作,证明 jquery 已正常加载并且 ready 函数运行良好。但是,.ajax 函数不起作用。如果我将此代码粘贴到w3cschool 的 tryit 编辑器中,我的互联网连接工作正常,并且代码运行良好。有人可以帮帮我吗。

此外,任何解决此类错误追逐的一般策略都会非常有帮助。我有 chrome 浏览器,但是当我打开 javascript 控制台时,它显示一切正常...

4

1 回答 1

6

问题是url:"http://reddit.com/r/nyc.json",那不是您的域,因此出现了同源策略

你需要在你的服务器上做一个代理。或者,如果站点支持 jsonp,您可以改用 jsonp。

$.getJSON('http://www.reddit.com/r/nyc.json?jsonp=?', function(data) {
   console.log(data);
});​

演示

于 2012-07-16T05:11:18.857 回答