成功函数内的loadPlayer函数未定义

时间:2017-07-23 10:44:19

标签: javascript jquery angularjs ajax

尝试以下代码时收到以下消息。

angular.js:9419 Referenceerror: loadplayer is not defined.

这是我的代码:

(function getAllAlbums(){
$http({
    method: 'GET',
    url: "api/playlist.php?type=playlist",
})
.success(function(response){
  console.log(response);
  loadPlayer(response);
})
.error(function(response){
 console.log(response);
})

})();

关闭文件我有以下功能:

jQuery(function loadPlayer($) {
var supportsAudio = !!document.createElement('audio').canPlayType;
if (supportsAudio) {.......

为什么我收到loadPlayer未定义的消息?

1 个答案:

答案 0 :(得分:1)

由于范围不同。 您的第一个函数是在自调用函数中声明的。 你的第二个功能被宣布我甚至不知道在哪里。 你可以做的是在一个范围内声明它们。像这样的人。

(function ($) {

$(document).onload = function () {
    function loadPlayer($) {}
    $http({
            method: 'GET',
            url: "api/playlist.php?type=playlist",
        })
        .success(function (response) {
            console.log(response);
            loadPlayer(response);
        })
        .error(function (response) {
            console.log(response);
        })
}
}(jQuery));