我正在尝试将一个数据从一个视图发送到另一个控制器,并为另一个视图设置数据。这是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);
}
它不能正常工作。
答案 0 :(得分:0)
将您的if子句更改为:
if($this->request->is('post') || $this->request->is('ajax')) {
它应该可以正常工作
答案 1 :(得分:0)
CakePHP 2.3不支持类型标题数组,请检查
http://book.cakephp.org/2.0/en/appendices/2-4-migration-guide.html#cakerequest
只有在仅使用Ajax发送请求时,您才需要单独检查或使用Ajax。