我在访问ajax post回调函数中的其他函数时遇到问题。
看一下这段代码:
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.
});
});
我如何才能访问其他功能?
答案 0 :(得分:3)
如果HelloWorld
位于jQuery.ready
范围内,那么您将无法访问它,它是该范围的本地。
如果你想让HelloWorld
全局化,那么你应该使用窗口或者:
window.HelloWorld = function(){
var x = 'Hello';
return x;
}
然后它可以在任何其他范围内访问。
答案 1 :(得分:0)
您应该有权访问此功能,是否可以记录其他内容,例如console.log('FOO');
?
我的第一个猜测是,你永远不会到达回调函数,这是“.post”方法的成功函数。