2012-05-13 36 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 * /} ...});' –