我有一个视图,里面有一个按钮,点击后我想从控制器中检索一些数据。
这是在视图内:
<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)}