2013-07-17 27 views
0

在Google Apps脚本中,我试图在模板HTML中使用jQuery。我收到以下错误:

ReferenceError: "$" is not defined.

的index.html

<html> 
    <head> 
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 
    </head> 
    <body> 

    My favorite Google products: 
    <? var data = ['Gmail', 'Docs', 'Android']; ?> 
    <? $(data).each(function(){ ?> 
    <?= this ?> 
    <?}); ?> 

    </body> 
</html> 

Code.gs

function doGet() { 
    return HtmlService 
    .createTemplateFromFile('index') 
    .evaluate(); 
} 
+0

在我的情况。我错误地包含在我的脚本 – Nevermore

回答

2

标签<?这意味着代码在服务器上运行,和服务器端似乎jQuery没有加载,所以$引用不存在。

像这样的事情应该没有问题的工作:

<html> 
    <head> 
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 
    <script> 
     $(function() { 
      var data = ['Gmail', 'Docs', 'Android']; 
      var products = $('#products'); 
      $(data).each(function(index, value) { 
      products.append('<li>' + value + '</li>'); 
      }); 
     }); 
    </script> 
    </head> 
    <body>  
    My favorite Google products: 
    <ul id="products"/> 
    </body> 
</html> 
+0

jQuery库理解代码为HTML服务建议应适用后:最佳实践 - '异步加载数据,不在模板中'https://developers.google.com/apps-script/guides/html-service-best-practices?hl=es#load_data_asynchronously_not_in_templates – wchiquito