-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

HelloWorldスコープ内にある場合jQuery.ready、アクセスできません。そのスコープに対してローカルです。

HelloWorldグローバルにしたい場合は、window またはこれを使用する必要があります。

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

その後、別のスコープでアクセスできるようになります。

于 2013-10-22T18:14:06.973 に答える