2017-11-26 14 views
0

私の問題は次のとおりです。私はCodeigniter APIを開発しています(私はこのフレームワークに精通していませんし、初めてAPIを構築しています)。非常に基本的なAPIを作るためのチュートリアルでは、これはコントローラです:PHP codeigniter APIからajaxレスポンスを取得する

/** 
* @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からそれを呼び出して、私に結果を示して動作しますが、問題は、私はアヤックスからそれを呼び出したとき、それはURLを認識しています私には結果が与えられていません。私はデータをconrrectly返すわけではないと思います。このメソッドを呼び出すと、私の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

あなたは 'のcontentTypeのあなたのAJAX呼び出しにAJAXを経由して送信されたデータのコンテンツタイプを追加します。「アプリケーション/ JSONを;のcharset = UTF-8''はまだこれでコンソールがnull示し –

+0

、しかし、この方法は動作しますが、私はそれについて確かに...それは私に何かを少なくとも示す必要があります – gamn2090

答えて

0

を示していますこれを置くために:の代わりに:return json_encode($query->result());それはjsonだから、あなたはそれを返さないようにする必要がありますyay!

関連する問題