2013-08-02 48 views
0

我在我的ZF2應用程序中有一個jQuery ajax調用。它只是以前工作。突然它不會再工作了。即使我在請求中放置了一個不存在的操作,它也不會像以前那樣給服務器提供錯誤。它似乎不會提出請求。jQuery ajax後請求突然不起作用,

但絕對在控制檯中沒有錯誤。一切工作到我提出請求的地步。這是它的功能:

$('.expand').click(function(){ 
    var CCID = $(this).parent().attr('id'); 
    CCID = parseInt(CCID); 

    console.log(CCID);         // Works 

    if($.inArray(CCID,$expanded) > -1){ 
     foldin(CCID); 
    } else { 
     console.log('Works up to here.');    // Works 
     $.post('admin/expand', { 
      id: CCID 
     },function(data){ 
      console.log('Doesn\'t log this.');   // Doesn't work 
      if(data.hasOwnProperty('info')){  
       console.log('sup'); 
       expand(data.info); 
      } else { 
       console.log('Can\'t find customer info.'); 
      } 
     },'json'); 
    } 
}); 

就像我以前說的,絕對沒有錯誤,並記錄了我所評論的所有位。希望我犯了一個愚蠢的錯誤,你可以發現它。已經過了很多次了,找不到它。

如果有人想看到它,我會在我的控制器中添加該動作,但發佈請求似乎沒有找到它,因爲如果我給它一個假動作,它不會給出錯誤。

編輯:下面是一些額外的信息

所以我在評論者的要求增加了一個故障處理程序,它返回:

failed [Object, "parseerror", SyntaxError] 

在的SyntaxError它說:「意外的標記<」但.js文件中沒有,我找不到它在哪裏告訴我它找到哪條線路/文件。這可能會有所幫助。

這是我在我的控制器調用的動作。似乎沒有找到它在所有,但:

public function expandAction(){ 
    $request = $this->getRequest(); 
    $response = $this->getResponse(); 

    if($request->isPost()){ 
     $post_data = $request->getPost(); 
     $CCID = $post_data['id']; 
     $customer = $this->getCustomerTable()->getCustomer($CCID); 
     $response->setContent(\Zend\Json\Json::encode(array(
      'info'  => $customer, 
     )));  
    } 

    return $response; 
} 
+1

嘗試添加一個故障處理程序,看看它是否獲取調用'$。員額( '管理/擴展',{..},函數(){})。失敗(函數(){的console.log(」失敗',參數)})' –

+0

你能澄清幾件事情:1)「突然它不會工作了」:之前它工作,你有什麼改變,你是什麼意思,「不工作」? 2)您發送的請求是什麼(在Chrome/Firefox中檢查檢查員)3)您回覆的回覆是什麼,狀態代碼是什麼? –

+0

@ArunPJohny哇,以前不知道。那肯定會返回一些東西'falied [Object,「parseerror」,SyntaxError]'SyntaxError是最好看的地方嗎?這有點大而且令人生畏。 – vanamerongen

回答

1

阿倫P約翰尼拉教我用谷歌瀏覽器開發者工具的網絡選項卡找出問題。從那裏我可以看到'admin/expand'這個路徑應該是'擴展'的。

可能會有點本地化的答案,但我覺得,他使用的網絡選項卡的建議是不夠​​有助於保證一個答案。也許這會在某個時候對其他人有所幫助。