我的代码错误是什么?

时间:2013-05-21 10:52:05

标签: php javascript jquery ajax smarty

我正在使用smarty模板和php。以下代码是用smarty模板编写的。

{literal}
<script type="text/javascript">
// This function gets test when category checkbox is checked

function get_subjects_by_class(class_id) {
    var field_id = 'subjects';
    $.ajax({
        url: "teacher_details.php",
        type: "GET",
        data: {
            'request_type': 'ajax',
            'op': 'get_assigned_subject_list',
            'class_id': class_id
        },  
        success: function (data) {
            $('#category_test_container').append(data);
        });
    }
</script>
{/literal}

调用此函数如下:

<a href="#" onClick="get_subjects_by_class({$class.class_id}); return false;">{$class.class_name}</a>

点击超链接后,我收到如下错误:

ReferenceError: $ is not defined
$.ajax({

我用Google搜索了错误解决方案,但无法获得所需的分辨率。任何人都可以帮我解决这个错误吗?在此先感谢。

3 个答案:

答案 0 :(得分:1)

您要么没有加载jQuery,要么在运行此脚本后加载了它。这就是$未定义的原因。

答案 1 :(得分:0)

在$变量可用之前,您需要先包含jQuery。 $是jQuery的缩写,所以显然jQuery不包含在运行$ .ajax的位置。

答案 2 :(得分:0)

似乎jquery未包含在页面中。请包括来自任何CDN的jquery

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js">
</script>

也可能因为案件使用冲突而发生

http://api.jquery.com/jQuery.noConflict/