隨着檢票,POST請求檢票
如何發送了var slideCounter
到檢票口?
有人可以提供一個例子嗎?
我無法在此找到更多信息。
$(document).on('click', '.lean-overlay', function() {
var slideCounter = 0;
// TODO Send slidecounter to wicket
});
隨着檢票,POST請求檢票
如何發送了var slideCounter
到檢票口?
有人可以提供一個例子嗎?
我無法在此找到更多信息。
$(document).on('click', '.lean-overlay', function() {
var slideCounter = 0;
// TODO Send slidecounter to wicket
});
您可以使用ajax回調從javascript調用wicket代碼。你可以做這樣的事情:
Java代碼:
AbstractDefaultAjaxBehavior behave = new AbstractDefaultAjaxBehavior() {
@Override
public void renderHead(Component component, IHeaderResponse response) {
super.renderHead(component, response);
String componentMarkupId = component.getMarkupId();
String callbackUrl = getCallbackUrl().toString();
response.render(JavaScriptHeaderItem.forScript(
"var componentMarkupId='" + componentMarkupId
+ "'; var callbackUrl='" + callbackUrl + "';",
"values"));
}
protected void respond(final AjaxRequestTarget target) {
IRequestParameters parameters = RequestCycle.get().getRequest()
.getQueryParameters();
// write yout java code here
// if you want to use the slideCounter variable
// you have to retrieve its value like this:
// parameters.getParameterValue("slideCounter").toString()
}
};
add(behave);
JavaScript代碼:
$(document).on('click', '.lean-overlay', function() {
var slideCounter = 0;
executeJava(slideCounter);
});
function executeJava(slideCounter) {
try {
var commandToSend = 'slideCounter=' + slideCounter;
var wcall = Wicket.Ajax.post({
u: callbackUrl + '&' + commandToSend
});
} catch (e) {
alert(e);
}
}
發送請求很簡單,只要:Wicket.Ajax.post({"u": "the/url?slideCounter="+slideCounter})
更復雜的部分是構造the/url
。
requestCycle.urlFor(component)
#getCallbackUrl()
一旦你的網址,你需要將其存儲在頁面的DOM,例如與OnDomReadyHeaderItem.forScript(「window.TheUrl ='」+ theUrl +「'」)
好吧我試過這個,但像你說的問題是網址:(你能解釋我如何使用getCallbackUrl? – greedsin
https://cwiki.apache.org/confluence/display/WICKET/Calling+Wicket+ from + Javascript https://ci.apache.org/projects/wicket/guide/6.x/guide/advanced.html#advanced_2 –
這不幫助我,我已經讀過幾次了。我要求「wicket.ajax.post」或者其他東西。在這個文檔中只有 var wcall = Wicket.Ajax.get({u:'$ {callbackUrl}'+'$ {args}'}); Still感謝您的回覆... – greedsin