2017-05-23 2 views
0

Ich habe eine Seite in Wicket, die einen Javascript-Fehler löst, weil es Wicket-Bibliothek auf Client-Seite nicht lädt. Ich weiß nicht warum. Der generierte Client-Code wird wie folgt:Wicket: Kann Eigenschaft 'Ajax' von undefined nicht lesen

 Wicket.Event.add(window, "domready", function(event) { 
     Wicket.Ajax.ajax({"u":"./web.TaskPage?4-1.0-modal~javascript~error~close","c":"modal_javascript_error_close5","e":"click"}); 
    . 
    . (more code) 
    . 
} 

Auf Server-Seite Ich habe zum Beispiel ein Link-Button:

public static Component createCloseBt() { 
    AjaxLink<String> modalCloseBt = new AjaxLink<String>("modal-javascript-error-close") { 
     private static final long serialVersionUID = 1L; 

     @Override 
     public void onClick(AjaxRequestTarget target) { 
      IRSPage.closeModal(target); 
     } 
    }; 
    return modalCloseBt; 
} 

Der Fehler, ich bin immer ist:

web.TaskPage?4:148 Uncaught TypeError: Cannot read property 'Ajax' of undefined at HTMLDocument. (web.TaskPage?4:148) at fire (jquery-1.12.4-ver-1494329056398.js:3232) at Object.fireWith [as resolveWith] (jquery-1.12.4-ver-1494329056398.js:3362) at Function.ready (jquery-1.12.4-ver-1494329056398.js:3582) at HTMLDocument.completed (jquery-1.12.4-ver-1494329056398.js:3617)

Was soll ich überprüfen? Warum in diesem Punkt habe ich Wicket.Ajax.ajax nicht?

Dankten

Antwort

0

Der einzige Grund, warum ich sehe, ist, wenn Sie FilteringHeaderResponse in YourApplication.java verwenden.

FilteringHeaderResponse verwendet, wenn Sie Ihre JavaScript-Dateien in der Unterseite der HTML-Code der Seite setzen wollen (kurz vor der </body>. Wenn Sie die JavaScriptReferenceHeaderItems herauszufiltern, aber Sie filtern auch OnDomReadyHeaderItem/OnLoadHeaderItem/OnEventHeaderItem dann nicht aus dies geschehen kann.

+0

Dankten für die Antwort, aber ich habe keine FilteringHeaderResponse in meiner Anwendung – fselvatici

+0

Wenn Sie in der Lage sind, es in einer Mini-Demo-Anwendung zu reproduzieren, dann bitte att Ach es zu einem Ticket in Wickets JIRA! –

+0

Ok. Ich werde es versuchen. Andere Seiten funktionieren gut, also bin ich verwirrt. Ich migriere eine Anwendung von Wicket 1.5.5 zu 8. So muss ich viele Dinge verifizieren. – fselvatici

0

nun, ich fand das Problem. Es ist ein Verhalten Komponente war, dass JavaScript-Code hinzugefügt, der das Wicket Objekt overrided. das war für 1.5.5-Version benötigt, aber jetzt nicht mehr.

Verwandte Themen