cakePHP-JSON_编码ajax响应-未定义

cakePHP-JSON_编码ajax响应-未定义,ajax,json,cakephp,Ajax,Json,Cakephp,我有以下代码 $this->autoRender = false; $data['success'] = true; $data['data'] = 'Target Successfully set'; echo json_encode($data); 它发送对ajax请求的响应 我有以下几点 success:function (response, textStatus) { if (response.error){ //show error mes

我有以下代码

$this->autoRender = false;
$data['success'] = true;
$data['data'] = 'Target Successfully set';
echo json_encode($data);
它发送对ajax请求的响应

我有以下几点

success:function (response, textStatus) {
        if (response.error){
           //show error message...
        }else{
           //show success message...
           console.log(response); // shows what is expected 
           //ie. {"success":true,"data":"Target Successfully set"} 
        }

然而,当我尝试访问response.data时,我得到了未定义的
。。。代码有什么问题?

您没有告诉javascript您返回的是什么类型的数据,因此它被视为纯文本,因此您在日志上看到的只是一个完整的字符串,其中包含服务器输出的数据

response.error
也是未定义的,但是由于javascript中的
undefined==false
,所以您没有看到它


您必须在ajax调用中设置
数据类型:“json”
,或者添加
$this->response->type('application/json')在您的CakePHP操作中。

您没有告诉javascript您返回的数据类型,因此它被视为纯文本,因此您在日志中看到的只是一个完整的字符串,其中包含服务器输出的数据

response.error
也是未定义的,但是由于javascript中的
undefined==false
,所以您没有看到它


您必须在ajax调用中设置
数据类型:“json”
,或者添加
$this->response->type('application/json')在您的CakePHP操作中。

您没有告诉javascript您返回的数据类型,因此它被视为纯文本,因此您在日志中看到的只是一个完整的字符串,其中包含服务器输出的数据

response.error
也是未定义的,但是由于javascript中的
undefined==false
,所以您没有看到它


您必须在ajax调用中设置
数据类型:“json”
,或者添加
$this->response->type('application/json')在您的CakePHP操作中。

您没有告诉javascript您返回的数据类型,因此它被视为纯文本,因此您在日志中看到的只是一个完整的字符串,其中包含服务器输出的数据

response.error
也是未定义的,但是由于javascript中的
undefined==false
,所以您没有看到它

您必须在ajax调用中设置
数据类型:“json”
,或者添加
$this->response->type('application/json')在您的CakePHP操作中。

数据类型:“json”
添加到您的ajax调用中,或在CakePHP中设置相应的头。这不是。将
数据类型:“json”
添加到您的ajax调用中,或在CakePHP中设置相应的头。这不是。将
数据类型:“json”
添加到您的ajax调用中,或者在CakePHP中设置相应的头。这不是。将
数据类型:“json”
添加到ajax调用中,或者在CakePHP中设置相应的头。这不是问题所在。