2016-08-16 2 views
0

Je suis en cours d'exécution sur ce problème étrange qui cause la console pour ne pas afficher une sortie après l'analyse syntaxiquePas de sortie de la console lors de l'utilisation rendu et JBuilder

a= "<%=j render 'api/restaurants/index.json.jbuilder',restaurants: @restaurants %>"; 
json = $.parseJSON("<%= render 'api/restaurants/index.json.jbuilder', restaurants: @restaurants %>"); 
console.log(json); 


a= "<%=j render 'api/restaurants/index.json.jbuilder', restaurants: @restaurants %>"; 
json = $.parseJSON("<%= render 'api/restaurants/index.json.jbuilder', restaurants: @restaurants %>"); 
console.log("console test"); 


a= "<%=j render 'api/restaurants/index.json.jbuilder', restaurants: @restaurants %>"; 
json = $.parseJSON("<%= render 'api/restaurants/index.json.jbuilder', restaurants: @restaurants %>"); 
console.log(a); 

Les extraits de code-dessus ne rendent pas quoi que ce soit dans la console, mais les extraits de code ci-dessous donnent une sortie de console.

a= "<%=j render 'api/restaurants/index.json.jbuilder', restaurants: @restaurants %>"; 
console.log(a); 


a= "<%=j render 'api/restaurants/index.json.jbuilder', restaurants: @restaurants %>"; 
console.log("console test"); 

Il semble que l'analyse empêche la console de sortir quoi que ce soit. Quelqu'un at-il des idées pourquoi cela se passe et comment y remédier

+0

'" <% = rende' et d'autres choses DonT ressembler JSON pour moi, je reçois 'jeton inattendu

Répondre

0

Comme indiqué dans jQuery.parseJSON:

En passant un résultat de chaîne JSON malformé une exception JavaScript étant lancée.

Ainsi, votre API ne renvoie pas un bon JSON.

Exemple:.

$(function() { 
 
    try { 
 
    var a = $.parseJSON("{test: 1}"); 
 
    console.log(a); 
 
    } catch(err) { 
 
    console.log('Err: ' + err); 
 
    } 
 
});
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>

+0

. Merci qui m'a aidé à trouver le problème. L'objet n'a pas vraiment besoin d'être analysé – Plasmeious