Codeigniter Ajax JSON返回不起作用


Codeigniter Ajax JSON return not working

我有一个视图,里面有一个按钮,点击后我想从控制器中检索一些数据。

这是在视图内:

    <script>
    $('.ajaxBtn').click(function(e) {
        e.preventDefault();
        $.ajax({
            type: "POST",
            url: '/ajaxController',
            data: "",
            dataType:'json',
            success : function(response){ console.log(response); alert(response)}
        });
    });
</script>

我的控制器看起来像这样:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class ajaxController extends MY_Controller
{
    function __construct()
    {
        parent::__construct();
    }
    function index()
    {
        echo json_encode("datafromajax");
    }

}

我有一条这样定义的路线:

$route['ajaxControl'] = "ajaxController/index";

然而,我没有响应数据,即使响应是200。

感谢的帮助

EDIT2//从为在线源加载JSON效果良好

编辑//响应:

XHR已加载(索引-200 OK-39.48300000047311ms-35.38KB)VM3852:3http://davids-macbook-pro.local:5757/ajaxController/indexVM3853:3对象{startedDateTime:"2016-04-09T08:45:16.133Z",时间:39.48300000047311,请求:对象,响应:对象,缓存:对象…}缓存:对象__proto__:Object__defineGetter__:defineGetterisPrototypeOf()属性IsNumerable:propertyIsNumerable()到LocaleString:到LocaleSstring()到String:toString()valueOf:valueOf()getproto:getprotoroto:设置proto()连接:"122019"pageref:"page_7"请求:ObjectbodySize:0ookies:Array[2]头:Array[11]headersSize:1099httpVersion:"HTTP/1.1"方法:"POST"queryString:Array[0]url:"http://davids-macbook-pro.local:5757/ajaxController/index"原型:对象响应:Object_transferSize:35380bodySize:34973内容:Objectcookies:Array[0]标头:Array[10]headersSize:407http版本:"HTTP/1.1"重定向URL:"状态:200statusText:"OK"proto:对象开始日期时间:"2016-04-09T08:45:16.133Z"时间:39.48300000047311时间:Object__proto__:对象

在json_encode()中将字符串更改为数组

echo json_encode("datafromajax");echo json_encode(['data'=>"datafromajax"]);

您需要定义base_url()

例如。

$arr = array("str"=>"datafromajax");
echo json_encode($arr);

并且在ajax函数中

url: <?php echo base_url();?> +'ajaxController'
 success : function(response){ console.log(response.str); alert(response.str)}