2017-10-10 3 views
0

dans la console chromée quand je clique sur le bouton (supprimer save) je reçois cette erreur « Uncaught SyntaxError: identifiant inattendu » également imprimer obj sur la console et apparaissent ses données ({ COMPANYID: 49305, groupId: 49343, keywordSearch: "misr1", requête: "searchType = Bib & SearchValueTBX = misr1 & SearchTypeDDL ... cet_Author = & Facet_CountryName = & Facet_LibraryName =", sauvé: true, ...} )Uncaught SyntaxError: identificateur inattendu dans le service Liferay

function userSave(){ 
var userId=$("#userId").val(); 
var companyId=$("#companyId").val(); 
debugger; 
Liferay.Service(
      '/MyLibrary_ServiceBuilder-portlet.searchhistory/display-saved', 
      { 
      userId: userId, 
      companyId: companyId 
      }, 
      function(obj) { 
      console.log(obj); 
      html=''; 
      var i; 
      for(i =0;i<obj.length;i++){ 

       html+="<li id='"+obj[i].searchHistoryId+"' name='keywordSearch'>"+obj[i].keywordSearch+"</li>"; 
       html+="<li>"+obj[i].searchTime+"</li>"; 
       html+="<input type='hidden' id='saved' name='saved' value='"+obj[i].saved+"'>"; 
       debugger; 
       html+="<input type='button' name='updateSearch' onclick='statusUpdate("+obj[i].toString()+");' value='delete save'>"; 
      } 

      $("#userSave").append(html); 
      } 
     ); 
} 

function statusUpdate(obj){ 
console.log(obj); 
debugger; 
obj={ 
     'userId':userId, 
     'companyId':companyId, 
     'groupId':groupId, 
     'keywordSearch':'"'+keywordSearch+'"', 
     'updatedOn':updatedOn, 
     'saved':saved, 
     'query':'"'+query+'"' 
} 
Liferay.Service(
      '/MyLibrary_ServiceBuilder-portlet.searchhistory/update-to-search-history', 
      { 
      strSearchHistory: obj 
      }, 
      function(obj) { 
      console.log(obj); 
      } 
     ); 
} 

Répondre

1

Lorsque vous ajoutez le code onclick='statusUpdate("+obj[i].toString()+");', obj [i] est un objet et appelant toString() renvoie une chaîne "[objet objet]" et non un objet sérialisé.

JSON.stringify(testeObj) 

Ou

obj={ 
    'userId':userId, 
    'companyId':companyId, 
    'groupId':groupId, 
    'keywordSearch':'"'+keywordSearch+'"', 
    'updatedOn':updatedOn, 
    'saved':saved, 
    'query':'"'+query+'"' 

}

L'extrait 'userId':userId, la variable userId n'a pas été défini dans le contexte.

J'espère avoir aidé.