Client Script - addEncodedQuery

Daryll Conway
Giga Guru

I have an onSubmit client script that I am trying to run the following code in ...

function onSubmit() {

      var modelMatch = false,

      curModel = g_form.getValue('u_discovered_model'),

      ciList = [],

      encQuery = "nameLIKE" + String(curModel) + "^ORmodel_numberLIKE" + String(curModel),

      gr = new GlideRecord("cmdb_model");

      gr.addEncodedQuery(String(encQuery));

      gr.query();

      alert('pre query');

      while (gr.next()) {

              ciList.push(String(gr.name));

              modelMatch = true;

      }

      if(modelMatch){

              var listModels = '';

              for(i=0;i<ciList.length;i++){

                      listModels = listModels + ' : ' + String(ciList[i]);

              }

              if(confirm('Are you sure this model does not already exist?\nThese models are already in Service Now : ' + listModels + '\nClick CANCEL if you would like to change to one of these')){

                      return true;

              }

              else{

                      g_form.showErrorBox("u_discovered_model", 'Please Change the model to an existing one. Such as : ' + listModels);

                      return false;

              }

      }

}

I reach line 6 but it falls over on the encoded query (line 7).

I've checked my query and it is as expected and works when I use it to query the table directly (in list view).

Can anyone see where I'm going wrong?

28 REPLIES 28

manikorada
ServiceNow Employee
ServiceNow Employee

Daryll,



Instead of addEncodedQuery, use something like this:


gr.encodedquery = '<<query>>';


Does this work? I've never seen this used before.


Try it like this:



gr.addQuery(String(encQuery));


ganeshb_
Tera Expert

Hi Daryll,


Can you please try :


curModel = g_form.getValue('u_discovered_model');


encQuery = "nameLIKE" + curModel + "^ORmodel_numberLIKE" + curModel;


gr.addEncodedQuery(encQuery);


gr.query();




Thanks,


Ganesh




Hi Ganesh, This is what I tried originally and then tried with the String() as above.