2014-12-28 4 views
0

Typo3 Backend에서 ajax를 사용하여 내 확장 기능 컨트롤러 함수를 호출하려면 어떻게해야합니까?Ajax 호출 TYPO3 컨트롤러 함수

내 저장소를 검색하고 싶습니다.

예 :

나는 이름을 입력 할 수있는 입력 필드가 있습니다. 그런 다음 검색 기능은 내 저장소에서이 이름을 검색해야합니다.

제 문제는 컨트롤러 기능과 통신하기 위해 ajax 호출을 설정하는 방법입니까? nameAutocomplete (ext_tables.php에서 허용되는 행동의 목록에이를 추가하는 것을 잊지 마세요)

그래서 당신은 적절한 만들 수 있습니다

아주 간단 백엔드 모듈에서
+0

어떤 부분에 문제가 있습니까? – biesior

+0

URL이 처럼'$ 아약스를 볼 방법 ({ 유형 : "POST", URL : URL, 데이터 : 데이터, 성공 : 성공, dataType와 : dataType와 은});' – Felix

답변

1

, 단지 즉, 컨트롤러에 새로운 액션을 등록 ViewHelper와 URL :

<script> 
    var MY_AJAX_ACTION_URL = '<f:uri.action action="nameAutocomplete" />'; 

    jQuery.ajax({ 
     type: 'POST', 
     url: MY_AJAX_ACTION_URL 
    }); 

</script> 

샘플 작업을 통해 JSON 출력을 필요로하는 경우, 당신이 직접 할 수있는 매우 직선 예입니다 :

public function nameAutocompleteAction() { 
    $out = array('status' => 'I am alive'); 

    // Process your POSt data here 

    header('Content-Type: application/json'); 
    return json_encode($out); 
} 

참고 : viewhelper를 사용하여 모듈의 토큰 및 기타 특정 부분을 생성 할 때 올바른 URL을 작성해야합니다.

+0

은 정말 보이는 쉬워 ... 고마워! 나는 그것을 시험해 본다! – Felix

+1

잘 작동하지만 내 게시물 데이터를 읽을 수 없습니다. '하지만 백엔드에서 데이터를 얻을 캔트,'jQuery.ajax ({ "nextInterval" 유형 : 'POST', URL : MY_AJAX_ACTION_URL, 데이터를}) 나는이 작업을 수행. 나는 이것을 시도했다 :'$ this-> request-> hasArgument ('nextInterval')' – Felix