CodeIgniter ajax responseText加载不起作用

时间:2014-11-28 09:52:07

标签: javascript php ajax codeigniter

我还不明白Ajax如何与CodeIgniter一起使用。我解释了你的问题。

在“文章”视图中,我最初加载所有文章。我也有一个选择框。当我执行“onChange”时,我使用经典的“xmlhttp”执行getData()Ajax调用。结果是只查看具有所需技术的文章。 “Tipology”是View后面的连接器字段(我看到所有文章)和Ajax文件。

Firefox控制台显示的错误如下:

 GET http://localhost/CodeIgniter/index.php?c=ajax_controller?tipologia=Recensioni 404 Not Found 13ms

我不知道这是否是正确的方法,但在这里我附上了我的代码,解释了这个过程:

主要文章观点:

 <select onChange="getResults()" name="tipologia" id="tipologia">
      <option>--Seleziona--</option>
      <option>Recensioni</option>
      <option>News</option>
 </select>

在主要文章视图中,这是ajax调用

 var xmlhttp;

 function getResults() {

      xmlhttp = new XMLHttpRequest();

      var tipologia = document.getElementById("tipologia").value;
      var url = "./index.php?c=ajax_controller?tipologia=" + tipologia;

      xmlhttp.onreadystatechange = callback;

      xmlhttp.open("GET", url, true);
      xmlhttp.send();
 }

 function callback() {

      if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
           console.log(xmlhttp.responseText);
      }     
 }

响应应该替换(innerHTML = responseText)实际包含此代码的div(但是,未过滤的View和过滤后的View应该执行相同的foreach):

foreach ($contacts as $contact) {
    echo $contact->id;
    echo " -> ";
    echo $contact->artist;
    echo " : ";
    echo $contact->album;
    echo " -> ";
    echo "<a href='/CodeIgniter/index.php?c=new_controller id=".$contact->id."'>Dettagli</a>";
    echo "</br>";
}

这总是发生在主文章视图中。

在模型中我有这个功能

function get_ajax_results() {

    $tipologia = $_REQUEST['tipologia'];


    $query = $this->db->query("SELECT artist, album, cover FROM contacts WHERE tipologia = '".$tipologia."' ");
    return $query->result();    
}

在Ajax控制器中......

public function index() {

    $this->load->model("new_model");

    $data['contacts'] = $this->new_model->get_ajax_results();           

    $this->load->view('ajax_view', $data);          

}

错误在哪里?

0 个答案:

没有答案