从PHP codeigniter API获取ajax响应

时间:2017-11-26 23:28:43

标签: php jquery ajax api codeigniter

我的问题如下,我正在开发一个Codeigniter API(我不熟悉这个框架,这是我第一次构建API),我已经按照一个简单的教程来制作一个非常基本的API,这是控制器:

/**
* @route http://proyect/users
* @verb GET
*/
public function get()
{
    $query = $this->db->query("select * from `jobs`");

            return json_encode($query);

}

/**
* @route http://proyect/users
* @verb POST
*/
public function store($data)
{
    /*$data = array(
        'jobs_id' => '123',
        'jobs_name' => 'Programing',
        'jobs_category' => 'Programacion'
    );*/

    $this->db->insert('jobs', $data);
    // Produces: INSERT INTO mytable (title, name, date) VALUES ('My id', 'My name', 'My category')
}

/**
* @route http://proyect/users
* @verb PUT
*/
public function update($data)
{
    /*$data = array(
        'jobs_id' => '0',
        'jobs_name' => 'My Name2',
        'jobs_category' => 'My category'
    );*/

    $this->db->set('jobs_name', $data['jobs_name']);
    $this->db->where('jobs_id', $data['jobs_id']);
    $this->db->update('jobs'); // gives UPDATE `mytable` SET `field` = 'field+1' WHERE `id` = 2
}

/**
* @route http://proyect/users
* @verb DELETE
*/
public function delete($data)
{
    /*$data = array(
        'jobs_id' => '123',
        'jobs_name' => 'My Name2',
        'jobs_category' => 'My category'
    ); */

    $this->db->delete('jobs', array('jobs_id' => $data['jobs_id']));  // Produces: // DELETE FROM mytable  // WHERE id = $id    
}

get方法通过URL调用它并显示结果,当我从ajax调用它时出现问题,它识别url但是没有给我结果,我认为这是因为我没有返回数据正确;这是我的js调用方法:

<html>
<head>
<title>HTTP Referer example</title>
<script language="javascript" type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
</head>
<body>
<div class="result"></div>
<script type="text/javascript">
    $(document).ready(function () {            
        var url = 'http://localhost/CodeIgniter/index.php/jobs/get';
        $.ajax({
            url: url,
            type: "GET",
            dataType:"json",
            success: function (data) { 
                console.log(data)
            }
        });              
    });
</script>

</body>

我想要的是从数据库中检索数据并将其显示在控制台

0 个答案:

没有答案