2013-07-09 4 views
0

ajax 호출을 사용하여 서버에서 텍스트 값 ('선택한 crate')을 가져 오려고합니다. Ajax 호출은 다음과 같습니다Ajax 호출이 항상 오류 처리기로 끝납니다.

var selected_crate =''; 

$.ajax({ 
    url: OC.linkTo('crate_it', 'ajax/bagit_handler.php')+'?action=get_crate', 
    type: 'get', 
    dataType: 'text/html', 
    success: function(data){ 
     selected_crate = data.responseText; 
     $('#crates option').filter(function(){ 
      return $(this).attr("id") == selected_crate; 
     }).prop('selected', true); 
    }, 
    error: function(data){ 
     var e = data.responseText; 
     alert(e); 
    } 
}); 

그리고 서버 측 코드는 다음과 같습니다

case 'get_crate': 
    $msg = $bagit_manager->getSelectedCrate(); 
    print $msg; 
    break; 

나는 성공에 따라 뭔가를 원하지만이 호출은 항상 오류 처리기에서 생을 마감. 핸들러가 완료되면 그 핸들러에 들어갑니다. 뭔가

  • 은 내가 클라이언트 측에서 성공 무언가를 서버 측에서 잘못되면하지만 내가

    1. 보내기 오류 응답을 원하기 때문에 모두 성공 및 오류 핸들러를 사용하려면 이것을 성취하기 위해 애 쓰고 있습니다. 이 호출이 항상 오류 처리기로 끝나는 이유는 무엇입니까? 그리고 실제로이 오류와 관련된 오류 응답을 보내면 오류 처리기에서 오류가 발생합니다. 그렇지 않으면 성공 응답이 발생합니까?

    +1

    응답의 상태 코드는 무엇입니까? –

    +0

    상태는 200이고 상태 텍스트는 "OK"입니다 – lloydh

    +0

    'dataType' 옵션을 제거해 보셨습니까? ''text/html ''은 afaik라는 유효한 값이 아닙니다. –

    답변

    0

    데이터가 올바르게 검색되면 오류 처리기 데이터를 검색했는지 여부를 확인하십시오. 데이터 유형이 아약스 호출의 응답과 일치하지 않는다는 것을 의미합니다. [서버 코드에서 일부 값을 반환해야합니다. 케이스]

    +0

    데이터가 올바르게 검색되고 있으므로 데이터 유형 불일치라고 생각합니다. 데이터 유형을 찾는 방법은 무엇입니까? 어쨌든 서버 쪽에서 볼 수 있듯이, 나는 문자 메시지를 출력한다. 백그라운드에서 PHP가 무엇을하는지 모릅니다. – lloydh

    0

    URL : OC.linkTo ('crate_it', '아약스/bagit_handler.php') + '? 액션 = get_crate은'이 대신

    직접

    URL을 같은 URL입니다보십시오 : www.yoursite.com/ajax/bagit_handler.php?action=get_crate

    나는 그것이 당신에게 도움이 될 것이라고 생각합니다.

    관련 문제