Cakephp Ajax调用在localhost中工作但不在服务器中,请求数据在1秒后变为null但在localhost上工作正常

时间:2014-07-18 04:52:36

标签: jquery ajax cakephp localhost

我有一个非常奇怪的问题:

在我的index.ctp中,我有以下代码向服务器发出ajax请求

$.ajax({
    url: "<?php echo Router::url(array('controller' => 'brands', 'action'  =>'filters'), true); ?>",
    cache: false,
    data    : "Mod=weaves",
    type: 'POST',
    dataType: 'Html',
    success: function (data) {
       $('#resultsall').html(data);
    }           
})

在我的品牌控制器的过滤器操作中,我有这个

public function filters(){
    if ($this->request->is('ajax')) {
       $this->Brand->recursive = 0;
       echo debug($this->request->data);
       if($this->Session->read('conditions.brand')){
           $brandconditions = $this->Session->read('conditions.brand');
           $this->Paginator->settings = array('fields' => array('name', 'id'), 
                                              'conditions' => array('Brand.id' => $brandconditions)) + 
           $this->Paginator->settings;
           $this->set('brands', $this->Paginator->paginate());
       }
       $this->set('mode', $this->request->data['Mod']);
       $this->render('results','ajax');
    }
}

我继续获取未定义的索引Mod。在服务器上运行但在我的localhost上运行良好。 如果我在localhost上运行echo debug,我得到了预期的结果,但在服务器上,请求数据正确显示1秒,然后数组在一秒后变为null。

1 个答案:

答案 0 :(得分:0)

我认为数据应该传递为:

data: {"Mod" : "weaves"}