【发布时间】:2016-07-30 14:12:35
【问题描述】:
我有一个视图,里面有一个按钮,点击后我想从控制器中检索一些数据。
这是在视图内部:
<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:3 http://davids-macbook-pro.local:5757/ajaxController/indexVM3853:3 对象{startedDateTime:“2016-04-09T08:45:16.133Z”,时间: 39.48300000047311,请求:对象,响应:对象,缓存:对象...}缓存:对象__proto__:对象__defineGetter__: defineGetter()defineSetter:defineSetter()lookupGetter:lookupGetter()lookupSetter: lookupSetter()构造函数: Object()hasOwnProperty: hasOwnProperty()isPrototypeOf: isPrototypeOf() 属性IsEnumerable: propertyIsEnumerable()toLocaleString: toLocaleString()toString: toString()valueOf: valueOf()get proto: 获得 proto()set proto: 设置 proto()connection: "122019"pageref: "page_7"request: ObjectbodySize: 0cookies: Array[2]headers: Array[11]headersSize:1099httpVersion:“HTTP/1.1”方法: “POST”查询字符串:数组 [0] 网址: “http://davids-macbook-pro.local:5757/ajaxController/index”原型: 对象响应:Object_transferSize:35380bodySize:34973content: Objectcookies:Array[0]headers:Array[10]headersSize:407httpVersion: "HTTP/1.1"redirectURL: ""status: 200statusText: "OK"proto: ObjectstartedDateTime:“2016-04-09T08:45:16.133Z”时间: 39.48300000047311timings: Object__proto__: Object
【问题讨论】:
-
更改 url: 'ajaxController/index',或者只是定义像
var base_url=<?php echo base_url();?>这样的 Javascript 变量,而不是更改 AJAXURL:base_url+ajaxController/index'' -
谢谢它现在没有错误了,你能告诉我如何在成功函数中对收到的 json 进行编码吗?
-
回显 json_encode($yourvalue);进入你的方法
-
成功 : function(response){ $('#ajaxdiv').html(response); } 不工作
-
试试这个 console.log(JSON.stringify(response));
标签: php jquery json ajax codeigniter