【问题标题】:CakePHP - How to pass url with ajax?CakePHP - 如何使用 ajax 传递 url?
【发布时间】:2015-07-14 03:44:33
【问题描述】:

我正在使用 cakePHP 3.0,但在使用 ajax 时遇到了问题。事实上,我想在来自我的视图“样本”的数组上执行我的控制器“样本控制器”的操作“视图标签”

<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";

但是我找不到正确的url,所以可以调用函数success。我尝试了很多东西,但我总是遇到被调用的 ajax 函数错误。 :/

【问题讨论】:

  • 尝试像error: function(jqXHR, textStatus,errorThrown){alert('errorThrown')} ;一样调试
  • “但是我找不到正确的url所以可以调用函数success”是什么意思。 ?你找不到哪个网址?
  • -1 你在浪费人们的时间,而不是创建重复的问题,做你被要求做的事情,调试你的代码!
  • @Sojtin:我说的是 ajax 调用的 url。我的代码上的那个不起作用

标签: php ajax cakephp


【解决方案1】:

如果您还没有,请将这行代码放在您的 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-06
    • 1970-01-01
    • 2012-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多