我是新来的codeigniter。我正在写一段代码。AJAX响应未返回。
这是我的控制器:
public function getValue()
{
$this->load->helper('url');
$data = array(
'username' => $this->input->post('username'),
'email'=>$this->input->post('email'),
'address'=>$this->input->post('address')
);
echo json_encode($data);
die;
}
它是视图代码:
$( document ).ready(function() {
$('#btn_submit').on("click", function(event){
event.preventDefault();
var username = $('#username').val();
var email = $('#email').val();
var address = $('#address').val();
$.ajax({
type: "POST",
url: "<?php echo base_url(); ?>" + "index.php/MyApp/getValue",
dataType: 'json',
async:true,
crossDomain:true,
data: {username: username, email: email, address: address},
success: function ( data) {
console.log(data);
},
error: function ( data ) {
console.log('error');
}
});
});
});
我是codeigniter的新手,所以我不知道如何返回响应和使用AJAX。我已经在web的帮助下编写了代码,但仍然收到错误。请指导我如何解决这个问题。谢谢
发布于 2016-09-20 23:56:54
简单答案从getValue()
函数中删除die;
。
在控制器完成执行之前,Codeigniter实际上不会输出任何内容。对die;
的调用会使框架的正常操作短路,因此不会输出任何内容。换句话说,echo json_encode($data);
从未真正发生过。
发布于 2016-09-21 00:05:15
请在如下所示为响应设置content-type后重试。
header('Content-Type: application/json');
echo json_encode($data);
die;
Ajax响应需要json数据,因为您的代码设置为dataType: 'json'
https://stackoverflow.com/questions/39598557
复制相似问题