gpt4 book ai didi

javascript - 如何用velocity模板语言调用ajax调用?

转载 作者:行者123 更新时间:2023-11-28 05:49:12 25 4
gpt4 key购买 nike

我正在使用velocity模板语言和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)以将其显示给您的用户。

关于javascript - 如何用velocity模板语言调用ajax调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38227232/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com