1

到目前为止,我已经成功地让我的 BSP 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 一起工作,以便页面保持不刷新?

我已经尝试过使用“带有 flowlogic 的 XML 页面”的 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");
});
4

1 回答 1

2

此链接解释了详细信息:http: //www.saptechnical.com/Tutorials/BSP/AJAX/create.htm

但是,本质上;

  1. 在您的 bsp 页面中集成一些 javascript 以便您可以执行 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并在您的代码中引用它

    您可以像这样使用 jQuery 调用 ajax 调用:http: //api.jquery.com/jQuery.ajax/

  2. 在您的 BSP 项目中创建一个将从 AJAX 调用的控制器。

  3. 为您的控制器创建一个控制器类,只需重新定义 REQUEST 并将您的逻辑放在那里

完毕。

于 2012-10-11T12:29:37.927 回答