【问题标题】:$.ajax function in jquery not workingjquery中的$ .ajax函数不起作用
【发布时间】:2012-07-14 22:49:26
【问题描述】:

我刚开始使用 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 函数,而是添加了一些其他的 sn-p 并且它可以正常工作,证明 jquery 加载正常并且 ready 函数运行良好。但是,.ajax 函数不起作用。如果我将此代码粘贴到 w3cschool's tryit editor 中,我的互联网连接工作正常,并且代码运行良好。谁能帮帮我。

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

【问题讨论】:

  • 对于跨域请求,您不能使用 JSON。您的数据类型必须是 jsonp。看看这个,应该会有所帮助:stackoverflow.com/questions/8191105/…
  • @zerkms 是的,但无法删除移动应用上的评论。
  • @nbrooks,谢谢,我会试试...

标签: javascript jquery ajax


【解决方案1】:

问题是url:"http://reddit.com/r/nyc.json",那不是你的域,所以Same origin policy出来了。

您需要在您的服务器中创建一个代理。 或者如果网站支持 jsonp,你可以使用 jsonp 代替。

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

The demo.

【讨论】:

  • 非常感谢!它就像一个魅力。还要感谢您将答案链接到 jsfiddle。我不知道它,它似乎很有帮助!
猜你喜欢
  • 2014-03-14
  • 1970-01-01
  • 1970-01-01
  • 2016-08-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-24
  • 2016-12-06
相关资源
最近更新 更多