0

我正在尝试将一个数据从一个视图发送到另一个控制器并为另一个视图设置数据。这是 ajax 代码工作正常

$.ajax({  
         url: "<?php echo Router::url(array('controller'=>'users','action'=>'exchange_process'));?>",  
                      type: "POST",  
                      data: {"point_origin": point_origin },  
                      success: function(){              
                             alert("success");  
                 }
        });

在控制器中,我通过以下代码收到了这些数据

public function exchange_process()
    {
        if($this->request->is(array('post', 'ajax'))) {
            $point_origin=$_POST['point_origin'];
        }

        $this->set("pointorg",$point_origin);
    }

在另一种观点中,我尝试过

<?php echo $pointorg ?>

它不工作。

如果我尝试

 public function exchange_process()
        {
            if($this->request->is(array('post', 'ajax'))) {
               // $point_origin=$_POST['point_origin'];
            }

            $point_origin=123;
            $this->set("pointorg",$point_origin);
        }

它的工作,但如果我尝试

 public function exchange_process()
            {
                if($this->request->is(array('post', 'ajax'))) {
                   // $point_origin=$_POST['point_origin'];
                   $point_origin=123;
                }


                $this->set("pointorg",$point_origin);
            }

它不工作。

4

2 回答 2

0

将您的 if 子句更改为:

if($this->request->is('post') || $this->request->is('ajax')) {

它应该工作正常

于 2015-05-18T09:54:44.437 回答
0

CakePHP 2.3 不支持类型头数组,请检查

http://book.cakephp.org/2.0/en/appendices/2-4-migration-guide.html#cakerequest

您需要单独检查或仅在仅使用 Ajax 发送请求时才使用 Ajax。

于 2015-05-18T09:56:52.383 回答