Ajax响应在响应页面中显示php文本

时间:2016-10-26 12:56:07

标签: php jquery ajax codeigniter

这是我在视图文件中的ajax代码

$('#bidck').click(function (e) {
    e.preventDefault();
    var data = "ajax=ajax";
    $.ajax({
        type: 'POST',
        url: 'http://localhost:8080/test/check',
        data: data,
        success: function (data) {
            console.log(data);
        }
    });
})

代码工作正常,这没有问题,但响应方面的问题这是我的控制器方面。

<?php defined('BASEPATH') OR exit('No direct script access allowed');

 class test extends CI_Controller
 {

public function check()
{
    $data = array("data" => "true", "m" => "message");
    Header('Content-Type: application/json');
    echo json_encode($data);
}
}

问题是当我在控制器中使用扩展CI_Controller 时,输出看起来就像这个error_screen_shot但没有扩展CI_Controller 可以 {&#34;数据&#34;:&#34;真&#34;,&#34; m&#34;:&#34;消息&#34;}

2 个答案:

答案 0 :(得分:0)

扩展为使用CI_Controller 的类必须始终具有首字母大写

在您的情况下:您需要将测试更改为测试,并确保您的文件名称相同( Test.php

OwnerId

答案 1 :(得分:-1)

你错过了

  

dataType:'json',

您可以在

之后添加此行
  

数据:数据,

if ($json === false) {
    // Avoid echo of empty string (which is invalid JSON), and
    // JSONify the error message instead:
    $json = json_encode(array("jsonError", json_last_error_msg()));
    if ($json === false) {
        // This should not happen, but we go all the way now:
        $json = '{"jsonError": "unknown"}';
    }
    // Set HTTP response status code to: 500 - Internal Server Error
    http_response_code(500);
}
echo $json;