随着检票,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