Как использовать Ajax в BSP?

Я изучаю BSP Framework в SAP. До сих пор мне удалось заставить мою модель MVC работать.

Вот мой код
Посмотреть

<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 я вызываю метод "fcode_incr" в контроллере. 'c' - это модельный экземпляр zcl_counter. у него есть счетчик атрибутов, который будет увеличен этим методом.

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

Я надеюсь, что zcl_model очевиден, и его код здесь не актуален.

Проблема, когда я нажимаю кнопку "увеличить", сервер отправляет запрос. Когда он получает ответ, он обновляет страницу. Так что я получаю увеличенное значение. как мне заставить его работать с Ajax, чтобы страница оставалась без обновления?

Я уже пробовал Ajax с "XML-страницей с flowlogic". как "Eventhandler ->OnRequest"

request->get_form_field('variable').

Это помогает дальше?

Правильный Ajax Call будет

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

1 ответ

Решение

Эта ссылка объясняет детали: http://www.saptechnical.com/Tutorials/BSP/AJAX/create.htm

Но по сути;

  1. Интегрируйте некоторый javascript в свою страницу bsp, чтобы вы могли делать ajax, вот несколько вариантов:

    • Либо взять код по этой ссылке
    • Или лучше использовать 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 и сослаться на него в своем коде.

    Вы можете вызывать ajax-вызовы, например, с помощью jQuery: http://api.jquery.com/jQuery.ajax/

  2. Создайте контроллер в своем проекте BSP, который будет вызываться из AJAX.

  3. Создайте класс контроллера для вашего контроллера, только переопределите REQUEST и поместите туда свою логику

Готово.

Другие вопросы по тегам