Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
未定义javascript中的函数_Javascript_Ajax_Function_Qunit - Fatal编程技术网

未定义javascript中的函数

未定义javascript中的函数,javascript,ajax,function,qunit,Javascript,Ajax,Function,Qunit,下面是我的js和qunit测试。为什么浏览器给我的ListClass没有定义?如何解决这个问题。我看到的大部分都是你做的 function ajax() { $.ajax({ });} 但是如果我真的喜欢下面的测试,怎么做呢 $('#MregisteredClasses').on('pageinit', function listClasses(){ var rowInput = "1"; var pageInput = "1"; $.ajax({ url: 'http:/

下面是我的js和qunit测试。为什么浏览器给我的ListClass没有定义?如何解决这个问题。我看到的大部分都是你做的

function ajax() {  
$.ajax({   
});}
但是如果我真的喜欢下面的测试,怎么做呢

$('#MregisteredClasses').on('pageinit', function listClasses(){
var rowInput = "1";
var pageInput = "1";

$.ajax({
    url: 'http://137.57.102.146:8080/Training/getRegisteredClassesData.html',
    data: ( {rows : rowInput , page : pageInput}),
    type: 'POST',

    success: function(json_results){
    $('#list').append('<ul data-role="listview" data-inset="true"</ul>');
        listItems = $('#list').find('ul');
        $.each(json_results.rows, function(key) {
            html = "<li data-mini='true' id='icon'><a href='http://137.57.102.146:8080/Training/MRegisteredClassesDetail.phone?courseId=" 
                   + [json_results.rows[key].courseId] + "&regNo=" + [json_results.rows[key].regNo] +
                   "' rel='external'>" + json_results.rows[key].courseName+ "</a>"
                   + "<a href='http://137.57.102.146:8080/Training/MRateCourse.phone?courseId=" 
                   + [json_results.rows[key].courseId] + "&regNo=" + [json_results.rows[key].regNo] + 
                   "' rel='external'>RATE THIS COURSE</a></li>" ; 
            listItems.append(html); 
        });

        $('#list ul').listview(); 
    },
});
});
$('#MregisteredClasses')。在('pageinit',函数listClasses(){…
上的用法不正确

函数需要匿名(即删除
listClasses
位),在这种情况下运行
listClasses()
将失败

您需要做的是将函数声明外部化

i、 e:

假设您的脚本只在
listClasses()
上失败,那么我会假设
listClasses
名称只是无声地被删除。

函数声明与命名函数表达式之间存在着一种关系

声明的形式如下:

function myFunc() {
    /* body */
}
表达就是一切:

var x = function myFunc() {
    /* body */
};

// or

alert(function myFunc() {
    / * body */
});
如果函数表达式在
函数
关键字后有一个名称,则该函数只能在函数体内部通过该名称访问。因此,您的问题就来了

var x = function myFunc() {
    /* body */
};

x(); // okay
myFunc(); // reference error

更多信息。

Joe bowman:我尝试了你的答案,但没有显示此错误未捕获类型错误:对象[Object Object]没有方法“listview”来源:正如错误所述,
$('list ul')
返回的对象没有
listview()
函数。listview在哪里定义?$('list ul')。listview();这不是定义listview吗?不是-这是调用
listview()
函数。该函数必须在其他地方定义才能被调用。是否需要在包含listview函数的地方包含另一个脚本文件?我不明白。listview是jquerymobile的方法。我说的对吗?
function myFunc() {
    /* body */
}
var x = function myFunc() {
    /* body */
};

// or

alert(function myFunc() {
    / * body */
});
var x = function myFunc() {
    /* body */
};

x(); // okay
myFunc(); // reference error