【问题标题】:$.getJSON not working with MAMP$.getJSON 不适用于 MAMP
【发布时间】:2012-02-10 09:38:07
【问题描述】:

我在这里查看了大量$.getJSON() 帖子,看看是否有任何一个可以帮助我解决我的问题,但到目前为止似乎没有任何帮助。

使用 MAMP 将网页放在本地。 jQuery 在本地运行良好,但是一旦我在 $.getJSON() 中包装任何内容,即使是一个简单的警报,似乎也没有任何效果。

我要提取的数据来自本地托管的 MySQL 数据库,因此没有跨站点调用。我认为问题可能是 MIME 问题,但是我添加了 application/json json,但仍然没有。

我认为我的代码没有任何问题,但这只是以防万一:

$.getJSON("test.php", function(data) {
  if (data.test.length > 0) {
    $('.title').empty();
    $('.content').empty();
    $.each(data.test, function() {
      var info = '';
      if(){
      } else {}
      $('').append(info);
    });
  }
});

【问题讨论】:

  • 你是什么意思,“似乎没有工作”?你有控制台错误吗?您的浏览器的网络面板对请求有何看法?如果您只是在浏览器中(从地址栏)将test.php 作为文档调用,您会得到什么?
  • 对不起,我的意思是 $.getJSON() 中没有任何东西被调用。没有控制台错误,就好像调用被忽略了一样。 test.php 是对数据库的 PHP 请求;当我从浏览器调用时,我得到了所需的 JSON 文件。
  • 这就是我的意思——查看开发者工具网络面板,看看网络调用是否发生。另外,将console.log 放在if 之外,就在您的处理程序的开头,以查看它是否被调用。
  • 如果没有调用成功函数,那么您的问题可能是服务器端错误(在这种情况下没有调用成功函数)。尝试将 .error(function() { alert('Server Error') }) 附加到 $.getJSON() 返回的对象,看看是否弹出警报。
  • 另外,怎么强调都不为过,这是我第三次写这篇文章:检查 Firebug 或开发者工具的网络面板,看看到底发生了什么。

标签: jquery json localhost mamp


【解决方案1】:

好的,这真的很简单,因为我的 JSON 数据没有正确提供。由于某种原因,在每个数组的末尾添加了一个额外的冒号,我的代码无法读取它。

因此,正如人们在上面评论的那样,这是一个服务器端问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-19
    • 1970-01-01
    • 2011-05-15
    • 2016-03-05
    • 2014-02-22
    • 2011-12-22
    • 1970-01-01
    相关资源
    最近更新 更多