javascript - Ajax 无法在 Codeigniter 3 中工作

标签 javascript php ajax codeigniter

当我单击按钮btnSalvar时,ajax需要将数据发送到我的 Controller ,但不起作用。

我的ajax:

$("#btnSalvar").on('click', function(){

                    $.ajax({
                            url: '<?= base_url(); ?>' + 'grupoProduto/cadastro',
                            type: 'POST',
                            data: {Nome: $("#txtNome").val(), Ativo: $("#cbxAtivo").val()},
                            dataType: 'json',
                            cache: false,
                            success: 
                                      function(data){
                                        alert(data.Nome);  //as a debugging message.
                                      }
                        });
                    return false;

    });

我的 Controller :

公共(public)函数 cadastro() { $this->load->view('grupoproduto_view'); }

我的alert(data.Nome)什么也没显示

这是我的完整 php 代码:

`

    <div class="row">
        <div class="form-group">
            <label for="txtNome" class="col-md-3 control-label">Nome</label>
            <div class="col-md-6">
                <?php echo form_input(['name' => 'txtNome', 'class' => 'form-control', 
                'value' => set_value('txtNome'), 'required' => 'true', 'maxlength' => '50', 'required' => 'true', 'id' => 'txtNome']); ?>
            </div>
        </div>
        <div class="form-group">
            <label for="cbxAtivo" class="col-md-3 control-label">Ativo</label>
            <div class="col-md-1">
                <?php echo form_checkbox(['name' => 'cbxAtivo', 'class' => 'form-control', 'required' => 'true', 'id' => 'cbxAtivo']); ?>
            </div>
        </div>
    </div>

    <div class="row">
        <div class="col-md-12">
            <div class="form-group">
                <div class="modal-footer">
                    <?php echo anchor(NULL, "<i class='glyphicon glyphicon-remove'></i> Sair", ['class' => 'btn btn-default', 'id' => 'btnSair', 'role' => 'button', 'data-dismiss' => 'modal']); ?>

                    <?php echo form_button(NULL, "<i class='glyphicon glyphicon-ok'></i> Salvar", ['class' => 'btn btn-success', 'id' => 'btnSalvar', 'role' => 'button']); ?>
                </div>
            </div>
        </div>
    </div>

</fieldset>

新编辑!

      `$("#btnSalvar").on('click', function(){

        var nome = $("#txtNome").val();
        var ativo = $("#cbxAtivo").val();

        var url = '<?= base_url(); ?>grupoProduto/cadastro';

        $.ajax({
                url: url,
                type: 'POST',
                data: {Nome: nome, Ativo: ativo},
                dataType: 'json',
                cache: false,
                success: 
                          function(data){
                            alert(data.Nome);  //as a debugging message.
                          },
                error: function() { 
                    alert(url);
                }     
            });
        return false;

    });`

在ajax中返回错误并显示此url:http://localhost/admin/grupoProduto/cadastro。是对的,但是为什么不成功呢?

最佳答案

您的 PHP '<?= base_url(); ?>' + 'grupoProduto/cadastro'没有得到评估

 $.ajax({
        url: '+<?= base_url(); ?>+'+ 'grupoProduto/cadastro',
        ....

问题出在您的 base_url()

为了使用base_url(),您必须首先加载URL Helper。这可以在 application/config/autoload.php 中完成(第 67 行或附近):

$autoload['helper'] = array('url');

或者,

手动:

$this->load->helper('url');

查看此answer

关于javascript - Ajax 无法在 Codeigniter 3 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44173982/

相关文章:

javascript - 如何在 jQuery 中获取相对于父级的 offset()?

javascript - 是否可以隐藏(切换)主 map 层并仅显示地面覆盖图像本身?

php - 更高效的 MySQL/PHP 代码

php - AJAX/Laravel 多个文件上传

ajax - 当对象改变其状态时触发 Ajax 事件

javascript - 在文本区域内插入 html

javascript - 使用 JavaScript 计算小时数

javascript - ajax 中的 Cross Origin 不适用于 IOS (10.3.1) 中的 .properties 文件

php - 在 WHERE 子句中连接第三个表

javascript - 不获取任何数据