jQuery addClass example

Change class name on click in jQuery

by shamaleyte

HTML

<script src="https://cdn.jsdelivr.net/npm/js-cookie@2/src/js.cookie.min.js"></script>
<pre id="output"></pre>

JavaScript

var AWS_URL = "https://j3v6q1h131.execute-api.us-east-1.amazonaws.com/default/0/g2";
var encrypted_token = "";
var vid = ""; // to be used for option B


function optionA(){ 
  var dfd = jQuery.Deferred();
  var hutk  = "";
  if(Cookies.get('hubspotutk'))
    hutk = Cookies.get('hubspotutk');
  $.post( AWS_URL + "/getTokenByHutk",  {"hutk": "7b9b2c4bdb4181f741736972f32ad3f4x"} , function( data ) {

  }).done(function(data){  
    console.log("DONE");
    if(data.token){
      console.log("IF");
      encrypted_token = data.token;   
      console.log("encrypted TOKEN : " + encrypted_token);
      dfd.resolve(encrypted_token);
    }
    else{
      console.log("ELSE : optionB");
      dfd.resolve( "optionB" );
    }     

    return dfd.promise();
  }).fail(function(){
    dfd.reject( "optionB" );    
  });
  // Return the Promise so caller can't change the Deferred
  return dfd.promise();
}


// Attach a done, fail, and progress handler for the asyncEvent
$.when( optionA() ).then( 	
  function( status ) {
    console.log( "Successfull with optionA. Encrypted Token : " + status);
    embedG2(status);
  },
  function( status ) {
    console.log( status + ", proceed accordingly" );
    console.log("available vid : " + vid);
    optionB(vid);
  },
  function( status ) {
    console.log( status );
  }
);



$(window).on("message.vidproxy", function(e) {
  try {
    var data = JSON.parse(e.originalEvent.data);
    if (data && data.from === "vidproxy") {
      $(window).off(".vidproxy");
      // Process here
      vid = data.vid;
      if (vid) {
        // Process here
        $("#output").html(e.originalEvent.data);
      }
    }
  } catch (e) {}
})
$("<iframe src='https://engage.emarsys.com/848ad561-8069-4e51-8c1a-33d5a907705a/contact-vid-proxy'/>").hide().appendTo("body");

var dfd_b = jQuery.Deferred(); 
function optionB(vid){  	
  $.post( AWS_URL + "/getTokenByVid",  {"vid": vid + "x"} , function( data ) {}).done(function(data){  
    console.log("DONE vid...