我正在使用速度模板语言和javascript在联系我们页面上工作。
要求是a) 客户从两个下拉菜单(位置和商店名称)中选择值,然后单击提交按钮
b) 此过程使用 AJAX 调用(无需重新加载页面)处理,并在同一页面的下拉菜单下方显示地址
我已经开发了表单的UI界面(在contact.vtl上)。单击事件时,我可以调用 AJAX 调用,在该控件转移到 contact-detail.vtl 之后,我无法继续前进?
如何发送回对contact.vtl的响应?
function ajaxCall(){
function getXMLRequestObject() {
if(window.XMLHttpRequest) {
return new XMLHttpRequest();
} else if(window.ActiveXObject) {
return new ActiveXObject("Microsoft.XMLHTTP");
} else {
alert("Your Browser does not support AJAX!! .Upgrade to latest version");
}
}
var url="/application/vtl/widgets/contact-us/contact-detail.vtl?loc=XYZ&shop=ABC";
var userContactReq = getXMLRequestObject();
if ( userContactReq.readyState === 1 || userContactReq.readyState === 2 || userContactReq.readyState === 3 ) {
userContactReq.abort();
}
userContactReq = getXMLRequestObject();
if ( userContactReq.readyState === 4 || userContactReq.readyState === 0 ) {
userContactReq.open("GET",url,true);
userContactReq.onreadystatechange = setReqSuccess;
userContactReq.send(null);
}
function setReqSuccess() {
if(userContactReq.readyState === 4){alert("Ready State is 4");}
if(userContactReq.status === 200){alert("Status is 200");}
if(userContactReq.readyState === 4 && userContactReq.status === 200) {
## How to recieve response here
var responseString = userContactReq.responseText;
console.log("end");
alert(responseString);
}
}
}
这真的与速度无关。 这是一个JavaScript问题,无论您使用什么模板或标记,答案都是相同的。我认为您需要(通过javascript)使用您在服务器的AJAX响应中获得的地址重写dom(设置div的innerHTML)以将其显示给您的用户。