0

ユーザーがクリックしたときに ajax を介してウィケット サーバーにデータを投稿しています。ページの読み込み時に ajax GET を介してデータを取得します。org.apache.wicket.core.request.mapper.StalePageException ajax 経由でデータをサーバーに送信し、後でユーザーがロードしたときに送信されたデータを含むパネルをロードするにはどうすればよいですか。

コード :Java Script サーバーにデータを送信する

function submitdata() {
    $.ajax({
        url : $('#mark').attr('json:callback.url1'),
        type : 'post',
        cache : false,
           data : ko.toJSON(familyModel),
           ntentType : 'application/json',
        dataType : 'json',
        complete : function() {
            } ,
        error: function(xhr, status, error){
                    console.log(xhr);
                    alert(status);
                    alert(error);
                 } 

            });}

        }

Page Load
    $(document).ready(function() {
                $.ajax({
                url : $('#mark').attr('json:callback.url'),
                    type : 'GET',
                    cache : false,
                    contentType : 'application/json',
                    success: function (data) {
                    console.log(data);
                              var parsed = JSON.parse(data);
                         // ko.mapping.fromJS(data, familyModel);
                /  ko.applyBindings(familyModel); 

                             // familyModel=new FamilyModel();
                              ko.applyBindings(familyModel); 

                    },
                    error: function(xhr, status, error){
                        console.log(xhr);
                        alert(status);
                        alert(error);
                     }
                }); 
                }

public class AbstractJSONBehavior extends AbstractAjaxBehavior {
public void onRequest() {


        RequestCycle requestCycle = RequestCycle.get();

        readRequestData(requestCycle);
        sendResponse(requestCycle);

    }
4

1 に答える 1

0

プレーンな jQuery API を使用しており、Wicket はリクエストが非 Ajax であると認識しているためPage#renderCount、古い情報を含むページを使用しないようにカウンターをインクリメントします。を使用するWicket.Ajax.post({...})と、Wicket はこれを自動的に把握します。したがって、 https://github.com/apache/wicket/blob/master/wicket-request/src/main/java/org/apache/wicket/request/http/Wicket.Ajax.post()からリクエスト パラメータまたはヘッダーを使用または渡すことができます。 WebRequest.java#L40-L48に値trueを jQuery#ajax() に渡す。

于 2015-02-13T13:47:25.187 に答える