2012-05-13 37 views
3

使用数据表。尝试使用POST获取工作函数(目前仅适用于GET)。将JS转换为POST中的POST

基于on this discussion我修改了this function,并得到如下所示。现在收到错误消息:

json.aaData未定义@线99

Whole code is here

 jQuery.post(sSource, aoData, function (data) { 
      /* Callback processing */ 
      oCache.lastJson = jQuery.extend(true, {}, data); 

      if (oCache.iCacheLower != oCache.iDisplayStart) 
      { 
       data.aaData.splice(0, oCache.iDisplayStart-oCache.iCacheLower); 
      } 
      data.aaData.splice(oCache.iDisplayLength, data.aaData.length); 

      fnCallback(data) 
     },"json"); 
    } 
    else 
    { 
     json = jQuery.extend(true, {}, oCache.lastJson); 
     json.sEcho = sEcho; /* Update the echo for each response */ 
     json.aaData.splice(0, iRequestStart-oCache.iCacheLower); // <- this line 
     json.aaData.splice(iRequestLength, json.aaData.length); 
     fnCallback(json); 
     return; 
    } 
} 

我缺少什么?任何建议?

+0

尝试提供更多详细信息或本地化问题,以便更多人尝试回答。 –

+0

@LukaRamishvili我真的不知道,有什么问题。我提供的信息,我知道 – heron

+0

@LukaRamishvili但是,我有建议,这是与变量名相关的东西。 – heron

回答

0

所以,你所提供的完整的代码示例,不可能是完整的代码,因为它只有75线长,你得到的是说你对线的未定义的属性99

但是错误,你确实说过这一行:

json.aaData.splice(0, iRequestStart-oCache.iCacheLower); 

给你未定义的错误。发生什么事是你试图访问一个属性aaData的拼接函数,它出于某种原因不存在于你的json对象上。

所以如果你打开你的JavaScript控制台并输入json.aaData,你会发现它返回undefined。所以无论怎样设置json变量的aaData属性都不是这样。我希望这能帮助你追踪你的错误。

+0

PHP方面返回json数据。 – heron

+0

http://screencast.com/t/upFlMYpEhj – heron

+0

你使用什么浏览器? –

1

这是jQuery.post(sSource, aoData, function (data) {。您有aoData,但在代码中您指的是aaData。这可能是一个错字。

+0

现在,json.aoData是undefined @ line 99 – heron

+1

伙计们,我发现错误:PHP返回值1-2秒延迟jQuery.post不会等待响应,我想。你怎么看,是否有可能解决这个问题? – heron

+0

'$ .ajax({... type:“POST”,response:function(data){/ * do something with data * /} ...});' –