0

我有一个 ajax 代码,当更改选择值时,加载下一个选择的值。

当我在某个页面时,例如:societario/attorneys/solicitar这工作正常并加载loadfiliais正常。`

但是,以我societario/attorneys/edit/为例,响应是相同的编辑页面,而不是 loadfiliais 视图。

响应正常,但页面是实际页面,edit.

在此处输入图像描述

下面是ajax的代码:

$(document).ready(function() {
$('.loading').hide();
        $("#AttorneyEmpresa").change(function(){
            $.ajax({
                type: 'POST',
                data: { select: $('#AttorneyEmpresa').val()},
                url: 'loadfiliais',
                beforeSend: function() {
                    $("#AttorneyFilial").hide();
                    $('.loading').show();
                },
                success: function(data) {
                     $("#AttorneyFilial").html(data).show();
                     $('.loading').hide();
                }
            })
        })
    });

控制器负载:

function loadfiliais() {

    if($this->request->is('ajax')) {
        $this->loadModel('Branch');

        $this->layout = 'ajax';
        $this->set('filiais',$this->Branch->find('all', array('conditions' => array('company_id' => $this->request->data['select'])))
        );


    }

}

视图加载文件:

<option value="">Selecione</option>
<?php foreach($filiais as $filial): ?>
<option value="<?php echo $filial['Branch']['id']; ?>"> <?php echo $filial['Branch']['nome']; ?></option>
<?php endforeach ?> 

谢谢

4

1 回答 1

1

我认为这loadfiliaisattorneys控制器中的一个动作。在这种情况下,尾部斜杠很可能是问题所在。

如果没有尾部斜杠,solicitar则被视为文件名,并被attorneys视为文件所在的文件夹,这是 AJAX 调用的基本文件夹,因此您最终会得到societario/attorneys/loadfiliais.

尾部斜杠societario/attorneys/edit/editsocietario/attorneys/edit/loadfiliais.

您可以通过使用 AJAX url 的绝对路径来避免这种情况,即

url: '/societario/attorneys/loadfiliais'
于 2013-08-23T14:11:10.530 回答