-2

我在访问 ajax 后回调函数中的其他函数时遇到问题。

看看这段代码:

function HelloWorld(){
    var x = 'Hello';
    return x;
}

console.log( HelloWorld() ); // this works fine.

$('#newPost').click( function(){

    $.post('url', { somedata }, function( data ){
        console.log( HelloWorld() );
        // this does not work.
        // Error: functions not defined.
    });

});

我怎样才能访问其他功能?

4

1 回答 1

3

如果HelloWorldjQuery.ready范围内,那么您将无权访问它,它是该范围的本地。

如果你想HelloWorld全局化,那么你应该使用 window 或者这个:

window.HelloWorld = function(){
  var x = 'Hello';
  return x;
}

然后它将可以在任何其他范围内访问。

于 2013-10-22T18:14:06.973 回答