2016-07-06 35 views
1

私は速度テンプレート言語とJavaScriptを使用してお問い合わせページに取り組んでいます。速度テンプレート言語でajax呼び出しを呼び出す方法は?

要件は2つのドロップダウン(場所とshopName)から a)は、顧客の選択値で、送信ボタン

Bをクリックしてください)このプロセスは上だけでドロップダウンの下にページをリロードせずにAJAX呼び出し()と表示アドレスを使用して処理されます同じページ

フォーム用のUIインターフェイス(contact.vtl上)を開発しました。 Clickイベントで、私は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); 
 
      } 
 
     } 
 
    }

+0

こんにちは@Sran! jQueryはすべてのボイラープレートからあなたを救うでしょう。 – joshuamabina

答えて

0

これは本当にベロシティとは何の関係もありません。これはjavascriptの質問であり、あなたが使ったテンプレートやマークアップと同じものになります。私はあなたが(JavaScriptを介して)あなたのユーザーにそれを示すためにサーバーからAJAXの応答で得たアドレスとdiv(innerHTMLのdivを設定する)を書き換える必要があると思います。