1

これまでのところ、BSPMVCモデルを機能させることに成功しました。

これが私のコードです。

意見

<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を試しました。「Eventhandler->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. ajaxを実行できるように、いくつかのjavascriptをbspページに統合します。いくつかのオプションがあります。

    • そのリンクからコードを取得する
    • または、より良い解決策は、jQueryを使用することです。

    jQueryを使用して次のようにajax呼び出しを呼び出すことができます:http://api.jquery.com/jQuery.ajax/

  2. AJAXから呼び出されるコントローラーをBSPプロジェクトに作成します。

  3. コントローラのコントローラクラスを作成し、REQUESTを再定義して、そこにロジックを配置するだけです。

終わり。

于 2012-10-11T12:29:37.927 に答える