2011-12-01 47 views
0

我使用ajax從amazon ecs中獲取結果。cakephp AJAX使用amason ecs搜索

代碼如下。它沒有從亞馬遜獲取結果。如果我在普通的頁面功能中使用了相同的功能,它正在工作在AJAX中,它不會從亞馬遜獲取結果。請幫我解決這個問題。

if($this->data && $this->RequestHandler->isAjax()){    
      $this->loadModel('Amazon'); 

      $result = array(); 

     $response = $this->Amazon->items('All', array('Keywords' => 'Apple','info' => 'ItemAttributes,Images,SalesRank,EditorialReview','sortby'=>'price','relevant','ItemPage' => '1')); 
     $result['totalpage'] = $response['StdClass']['Items']['TotalPages']; 

     foreach($response['StdClass']['Items']['Item'] as $key => $val){ 
       $result['data'][] = $val;   
     }   


     $this->set('json_data',$result); 
     $this->render('/elements/json'); 
    } 

回答

0

確保你包括在你的控制器的components財產RequestHandler組件:

/** 
* use the RequestHandler component 
*/ 
public $components = array('RequestHandler'); 

而且你還需要設置你的layout爲false。

if ($this->data && $this->RequestHandler->isAjax()) { 

    $this->layout = false; 

    // ... 

} 
+0

感謝萬盎司,這是不RequestHandler .Same AJAX功能的工作靜態data.It可能是由於時間的問題,需要從亞馬遜提取記錄.. –