2012-10-11 3 views
1

SAP에서 BSP 프레임 워크를 배우고 있습니다. 지금까지 MVC 모델을 작동시키는 데 성공했습니다.BSP에서 Ajax를 사용하는 방법?

여기 내 코드입니다.
보기 FCode로서 통해

<body> 
    <z:form> 
    <z:input binding="//c/counter" 
      invisible="true"/> 
    Counter : <z:write binding="//c/counter"/> 

    <z:button fcode="incr" 
         text="Increase"/> 
    <z:button fcode="decr" 
         text="decrease"/> 
    </z:form> 
    </body> 

컨트롤러
나는 컨트롤러에서 "fcode_incr"메소드를 호출합니다. 'c'는 zcl_counter의 모델 인스턴스입니다. 이 메소드로 증가시킬 속성 카운터가 있습니다.

method fcode_incr. 
    c->increment(). 
endmethod. 

zcl_model이 분명하고 코드가 여기에 해당되지 않기를 바랍니다.

"증가"버튼을 누르면 서버가 요청을 보냅니다. 응답을 받으면 페이지를 새로 고칩니다. 그래서 나는 증가 된 가치를 얻는다. Ajax에서 페이지를 새로 고치지 않고 유지할 수있는 방법은 무엇입니까?

"XML 페이지 with flowlogic"을 사용하여 Ajax를 이미 시도했습니다. 같은 "이벤트 핸들러 -> OnRequest는"

request->get_form_field('variable'). 

그것은 더 이상 도움이됩니까

?

올바른 AJAX 호출이

$.ajax({ 
     url:'ajaxController.do', 
     statusCode:{ 
      404: function(){ 
      alert("not found"); 
      } 
     }, 
     success: function(data){ 
      $('#viewData').html(data); 
     } 
     }).error(function(){ 
      alert("failed"); 
}); 

답변

2

것이 링크를 클릭하면 자세한 설명 : 본질적으로 http://www.saptechnical.com/Tutorials/BSP/AJAX/create.htm

을하지만, 당신이 아약스를 할 수 있도록

  1. 당신의 BSP 페이지의 일부 자바 스크립트를 통합, 여기에 몇 가지 옵션은 다음과 같습니다

    • 중 하나가 해당 링크
    • 또는 더 나은 솔루션의 코드를 받아 사용하는 것입니다 jQuery를, 하나 <link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.23/themes/base/jquery-ui.css" type="text/css" />
    • 를 사용하거나 http://code.jquery.com/jquery-1.8.2.min.js을 업로드하고 코드에서 참조
      • 통해

    당신은 jQuery를 함께 다음과 같이 다음 Ajax 호출을 호출 할 수 있습니다

  2. http://api.jquery.com/jQuery.ajax/는 AJAX 호출 할 것이다 BSP 프로젝트에서 컨트롤러를 만듭니다.

  3. 이 컨트롤러를위한 컨트롤러 클래스를 만들기 만 요청을 다시 정의하고

완료가 당신의 논리를 넣어.

+0

컨트롤러가 ZKTH_BSP_AJAX입니다. Ajax에서 어떻게 불러내나요? xmlhttp.open ("GET", 컨트롤러 ??, true); 이런 식으로? –

+1

컨트롤러의 이름은 그물에 노출 된 이름입니다. ZKTH_BSP_AJAX라고 부를지 모르겠습니다. 그럼에도 불구하고, xmlhttp.open ("GET", "ZKTH_BSP_AJAX", true); 비록 정말로, 나는 jQuery 라이브러리로 AJAX 호출을 배우는 데 시간을 투자 할 것이다. – tomdemuyt

+0

JQuery에서 Ajax 호출을 배웠다. 그러나 그것을 구현하는 방법에 대해 잘 모르겠습니다. fcode_save라는 컨트롤러에 메소드가 있습니다. 이 메서드를 호출해야하므로 반환 값을 catch 할 수 있습니다. **'$ .ajax ({url : 컨트롤러, 데이터 : inputName 등 ..})'** 메소드는 어디에 있습니까? –

관련 문제