【问题标题】:ReferenceError when calling a regular javascript function as a callback from JQuery.get从 JQuery.get 调用常规 javascript 函数作为回调时的 ReferenceError
【发布时间】:2012-11-06 23:50:21
【问题描述】:

我正在尝试使用在 $(document).ready(function(){}); 之外定义的 javascript 函数。作为 $.get() 请求的回调。然而,萤火虫显示:

ReferenceError: temp is not defined
    $.get('twitter.php', function(data){temp(data)});

以下是相关代码:

<script src="http://code.jquery.com/jquery-1.8.2.js"></script>
<script type="txt/javascript">       
    function temp(data){
        alert(data);
    }
</script>
<script>
    $(document).ready(function() {
        $.get('twitter.php', function(data){temp(data)});
    });
</script>

twitter.php 确实返回数据。

【问题讨论】:

  • 不要使用脚本类型=""。不需要。
  • @AndyRay - 至少在 html5 中没有,但旧的文档类型仍然需要它。
  • @TravisJ 不正确 stackoverflow.com/questions/5265202/… 这只是在所有地方都有效的意想不到的事情之一

标签: javascript jquery


【解决方案1】:

删除type="txt/javascript",或将其更改为text/javascript

【讨论】:

    【解决方案2】:

     function temp(data){
        alert(data);
     }
    

    上面

    $(document).ready(function(){
    
    });
    

    【讨论】:

    • 我的意思是你的相关代码必须是&lt;script src="http://code.jquery.com/jquery-1.8.2.js"&gt;&lt;/script&gt; &lt;script type="text/javascript"&gt; function temp(data){ alert(data); }; $(document).ready(function() { $.get('twitter.php', function(data){temp(data)}); }); &lt;/script&gt;
    【解决方案3】:

    你的脚本类型设置为'txt/javascript',如果我没记错的话,应该是'text/javascript',你的函数后面还需要一个分号。

    <script type="text/javascript">       
        function temp(data){
            alert(data);
        };
    </script>
    

    【讨论】:

    • 分号不是必须的。只有将函数分配给变量时才需要。
    【解决方案4】:

    您有一个小的语法错误导致脚本无效,type="txt/javascript" 应该是:

    <script type="text/javascript">       
     function temp(data){
        alert(data);
     }
    </script>
    

    【讨论】:

      猜你喜欢
      • 2019-06-20
      • 1970-01-01
      • 1970-01-01
      • 2012-01-30
      • 1970-01-01
      • 2012-11-29
      • 2022-01-03
      • 2017-07-11
      • 1970-01-01
      相关资源
      最近更新 更多