首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在codeigniter中不返回AJAX响应

在codeigniter中不返回AJAX响应
EN

Stack Overflow用户
提问于 2016-09-20 23:48:32
回答 2查看 1.3K关注 0票数 0

我是新来的codeigniter。我正在写一段代码。AJAX响应未返回。

这是我的控制器:

代码语言:javascript
运行
复制
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;
    }

它是视图代码:

代码语言:javascript
运行
复制
$( 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的帮助下编写了代码,但仍然收到错误。请指导我如何解决这个问题。谢谢

EN

回答 2

Stack Overflow用户

发布于 2016-09-20 23:56:54

简单答案从getValue()函数中删除die;

在控制器完成执行之前,Codeigniter实际上不会输出任何内容。对die;的调用会使框架的正常操作短路,因此不会输出任何内容。换句话说,echo json_encode($data);从未真正发生过。

票数 1
EN

Stack Overflow用户

发布于 2016-09-21 00:05:15

请在如下所示为响应设置content-type后重试。

代码语言:javascript
运行
复制
header('Content-Type: application/json');
echo json_encode($data);
die;

Ajax响应需要json数据,因为您的代码设置为dataType: 'json'

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39598557

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档