未捕获的ReferenceError:函数Post()未定义

时间:2013-09-27 13:11:42

标签: javascript jquery

我使用JS和Jquery函数:

//Jquery
$(function(){

  function Post(id) {
    $.post('index.php', {
            id: id
            },function (data) {alert(data) });
}  
});

//Javascript

Func.addCallback('onSuccess', function(id) {

 Post(id);
}

使用代码时出错:

Uncaught ReferenceError: wallPost is not defined

我知道错误是函数javascript使用函数jQuery,但如何删除错误?

2 个答案:

答案 0 :(得分:2)

您应该在Post回调之外定义$(document).ready功能,否则它将无法在外部看到:

function Post(id) {
    $.post('index.php', { id: id }, function (data) {alert(data) });
}

//Jquery
$(function() {
    // this will execute when the DOM is ready
});

//Javascript
Func.addCallback('onSuccess', function(id) {
    Post(id);
}

另一方面,如果您尝试将jQuery与可能劫持$函数的其他js框架一起使用,您可以查看文档中的相应部分:http://api.jquery.com/jQuery.noConflict/

答案 1 :(得分:1)

Post仅在document.ready()的上下文中定义。离开文档就绪方法后,该功能将不再可用。如果您需要在其他地方使用它,请在document.ready()函数之外定义它。