我正在使用cakePHP 3.0,我在使用ajax时遇到了问题。实际上,我想在我的视图“标本”中执行我的控制器“SpecimensController”的动作“viewTab”
<script type="text/javascript" >
var tab = new Array();
function updateResult(){
$.ajax({
type:"POST",
url:"<?php echo Router::url(array('controller'=>'specimens','action'=>'index'));?>",
data:{datas: $("select[name='filtreVariable\\[\\]']").map(function(){return $(this).val();}).get()},
dataType: 'text',
async:false,
success: function(data){
alert('success');
},
error: function (data) {
alert("error");
}
});
}
$("#filtre").submit(function(){
updateResult();
});
</script>
“viewTab”动作正在执行:
echo "success";
但我找不到合适的网址,因此可以调用函数成功。我尝试了很多东西,并且我总是遇到被调用的ajax的函数错误。 :/
答案 0 :(得分:0)
如果还没有,请将这行代码放在您的初始化函数所在的AppController中:
public function initialize()
{
parent::initialize();
$this->loadComponent('RequestHandler');
}
在你通过ajax调用的函数的控制器中,尝试这样的事情:
public function index()
{
$data = ['testing'];
$this->set(compact('data'));
$this->set('_serialize', 'data');
}
http://book.cakephp.org/3.0/en/controllers/components/request-handling.html