2013-03-19 4 views
0

codeigniter를 사용하고 있으며 jQuery로 Ajax 호출을 사용하여 결과를 얻으려고합니다.

echo "<select id=\"agent_select\" name =\"agent_select\" >"; 
echo "<option id=\"0\" value=\"0\" selected=\"selected\">Select Agent Name</option>"; 
$rs=$this->Model_ocperformance->get_all_activeusers_except($this->session->userdata('id')); 
foreach($rs->result() as $row){ 
    echo "<option id=\"".$row->id."\" value=\"".$row->id."\" >".$row->name."</option>"; 
} 
echo "</select>"; 
echo "<div id=\"results\"> 
</div>"; 

내 JQuery와 스크립트는 다음과 같이이다 : 나는 선택 상자를 변경하면

$(document).ready(function(){ 
     $("#agent_select").change(function(){ 
      $.ajax({  
        type:"POST", 
        url:"<?=base_url()?>index.php/ajax/find_status", 
        data:{agent_id:$(this).val()}, 
        success:function(response){ 
         alert("Response: "+ response);}, 
        error:function(){ 
         alert("Failed to retrieve information"); 
         } 
       }); 

     }); 
    }); 

는 아약스 함수를 호출해야합니다 나는이 조건이 다음과 같이 데이터베이스에서 채워되고있는 선택 상자를 ajax/find_status 함수에서 데이터를 검색합니다. 그러나 불행하게도 아무 일도 일어나지 않습니다. 내가 뭔가를 놓치거나 실수를 했습니까?

+2

콘솔에 오류가 있습니까? –

+6

먼저 PHP 코드가 아닌 ** 생성 된 ** HTML 및 JavaScript를 표시하십시오. 둘째, 브라우저의 JS 콘솔에 오류가 있습니까? "작동하지 않는다"는 것은 충분한 문제 설명이 아닙니다. –

+0

은 u가 jquery.js를 포함하고 있습니다. –

답변

0

내가 오류를 추측은 여기에 있습니다 :

url:"<?=base_url()?>index.php/ajax/find_status" 

이 하나 시도 :

url:"<?php base_url(); ?>/index.php/ajax/find_status" 

시도 대신 = 하나의 단락의 php를 추가하고 index.php를하기 전에 /을 추가하는 시도

+0

왜 응용 프로그램 URL을 생성 할 때'base_url()'을 사용합니까? 'site_url()'이 당신이 사용해야하는 것이다. index.php 등을 추가/삭제하기 위해 URL을 변경 한 경우'base_url()을 사용하면 즉시 앱이 중단됩니다. –

0

미안하지만 페이지의 다른 스크립트에 문제가있어서 이것이 작동하지 않는 이유입니다. @ 재 만약 = 대신 php을 추가하면 echo도 사용해야합니다. 그러나 내가 사용한 다른 스크립트는 페이지의 다른 스크립트를 수정 한 후에 작동했습니다.