2013-01-09 1 views
0

나는 yii와 함께 작동하는 간단한 아약스 전화를 얻으려고 노력하고, 네이티브 yii 수단을 사용하지 않습니다. 내 목표는 작성 액션에서 db look up을 사용하여 우편 번호 필드의 입력에 대해 주 및 도시 필드를 채우는 것입니다. CRUD 생성 yii 컨트롤러 동작 양식에서 발생하지 않습니다

public function actionZiplookup() 
{ 
    $z = new ZipDao(); 
    $row = $z->GetCityStateByZip($_REQUEST['data']); 
    header('Content-Type: application/json; charset="UTF-8"'); 
    echo CJSON::encode(array('output'=>$row)); 
} 

을 내 폼이 상자 밖으로있다 : 나는,

$('#Accounts_zip').bind('focusout',function(){  
    $.ajax({ 
     type: 'POST', 
      url:'/gatesadmin/index.php?r=Accounts/Ziplookup', 
      data: {zip:$('#Accounts_zip').val()}, 
      success: function(datain, textStatus, jqXHR) {alert(datain.statecode);} , 
      error: function(jqxhr, textStatus, errorthrown){alert(errorthrown);}, 
      dataType:JSON 
     }); 
    alert($('#Accounts_zip').val()); 
    }); 

을 별도의 자바 스크립트 파일을 한 내 AccountsController에 내가 한

... 
    <div class="row"> 
    <?php echo $form->labelEx($model,'zip'); ?> 
    <?php echo $form->textField($model,'zip',array('size'=>10,'maxlength'=>10)); ?> 
    <?php echo $form->error($model,'zip'); ?> 
</div> 
... 

알리미를 받기 때문에 자바 스크립트가 작동하는 것을 알고 있습니다. 직접 URL을 호출하면 ly yii는 반환 된 json을 가져 오기 때문에 actionZiplookup 이벤트를 발생시킵니다. jquery ajax 실패 이벤트에서 외부 서버 오류가 발생하기 때문에 양식을 성공적으로 ajax를 호출 할 수없는 것처럼 보입니다. 나는 인터넷을 통해 빗어 봤는데 내가 찾을 수있는 가장 가까운 예제를 찾을 수있는 형태로 자바 스크립트를 포함하고 Yii :: app() - createUrl() 메서드를 사용하여 URL을 정의하지만 컨트롤러를 가져 오는 방법이 있어야합니다. 자바 스크립트 코드를 별도의 파일로 유지하면서 실행하는 액션입니다.

도움을 주시면 감사하겠습니다.

+0

무엇 당신이 당신의 오류 경고에 표시되는 실제 오류? – ernie

답변