2011-12-01 48 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可能是由于时间的问题,需要从亚马逊提取记录.. –