1

我是 JS 新手……我有一个带有 JavaScript 函数的 PHP 页面,它可以对数据库服务器进行 JSON 调用。该 JSON 函数返回一个数组,我需要对其进行解析和处理。我理解回调的必要性(目前得到未定义的错误),但对实际语法感到困惑。任何人都可以提供一些指导吗?

这是我在 PHP 页面中的 JSON 函数:

var GETDATA = function() 
  {
   $(document).ready(function()
   {
     $.getJSON('api.php', function(data) 
      {
     $.each(data, function(key, val) 
      {
        UpdateGraph(val.x, val.y, val.z);
      });
      });
   });
  };`

**UpdateGraph 函数接受变量并执行一些进一步的业务逻辑

api.php 页面连接到数据库,获取记录集,并将其放入 JSON 数组。最后一行是

echo json_encode($arr);

我理解这种不对称流程,并且我需要一个回调函数来在收到数据时触发......但我不知道如何实现这一点。任何指导将不胜感激。

4

2 回答 2

1

首先,JSON是一种格式,而不是一种语言。

你已经有回调

$.getJSON('api.php', function(data) 

function(data) 是你的回调,data 是你从 php 返回的数据,在其中你应该添加你的代码或者你想对数据做什么。

 $.each(data, function(key, val){
        UpdateGraph(val.x, val.y, val.z);
 });

$.each将循环遍历您的数据数组并调用UpdateGraph函数

于 2012-06-08T18:29:27.157 回答
0

您返回的 json 对象(数据)还应该与“数据”内的每个嵌套对象具有键值关系。用一个简单的短语...将 json 对象视为具有键/值的哈希映射

所以说我有两个对象:“数据”内的对象a和对象b

 $.each(data.a, function(key, val){
        UpdateGraph(val.x, val.y, val.z);
 });


 $.each(data.b, function(key, val){
        UpdateGraph(val.x, val.y, val.z);
 });

有效

于 2012-06-09T08:35:34.190 回答