3

我想使用 jquery 获取存储在 mysql 中的数据并将其动态填充到网页上。我尝试了这段代码,但它不起作用。

<html>
<head>
  <script src="jquery-1.7.2.js"></script>
</head>
<body>
<pre>
<script>
  var url = "https://natiweb-natiweb.rhcloud.com/game.php";

  $.getJSON(url,function(data){
    $.each(data,function(i,user){
      alert("inside JSON");
      alert(user.appname+"\n"+user.applink);
      var a = document.createElement('a');
      var linkText = document.createTextNode(user.appname);
      a.appendChild(linkText);

      a.title = linkText;
      a.href = user.applink;
      document.body.appendChild(a);
      var b = document.createElement('br');
      document.body.appendChild(b);

    });
  }
);


</script>
</pre>
</body>
</html>

它从不执行 getJSON 查询。我不知道怎么了。“内部 JSON”没有被打印出来。我尝试使用专用的 js 文件编写相同的脚本代码并且它有效。我希望它在正文中工作,因为我必须通过从 mysql 获取链接来动态创建链接。

4

2 回答 2

1
  • 首先,在文档准备好后执行您的代码:

     $(function(){
        /* your code */
     });
    

或者

     $(document).ready(function(){
        /* your code*/
     });
  • 其次,使用$.ajax,传入错误回调,检查是否有异常。
于 2013-04-17T14:56:45.193 回答
0

+1 adeneo - 如果您在开发人员控制台中查看 chrome,您会看到您收到 CORS 错误。除此之外,您的代码应该可以工作。返回的 JSON 很好,您的代码似乎用它做了正确的事情,但您没有得到 JSON。

请参阅此 SO XmlHttpRequest 错误中的答案:Access-Control-Allow-Origin 不允许使用 Origin null 以获得对解决方案的良好解释。

于 2013-04-17T14:47:25.133 回答