当我单击按钮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/