私は速度テンプレート言語と JavaScript を使用してお問い合わせページに取り組んでいます。
要件は、a) お客様が 2 つのドロップダウン (場所とショップ名) から値を選択し、[送信] ボタンをクリックすることです。
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);
}
}
}