function test(){ $.ajax({ type: 'GET', url: 'http://kitagawa.keiko' dataType: 'text', success: function(response){ return response; }, error: function(response){ return response; }); } var result = test(); // undefined 原因 ajax()はデフォルトで非同期通信をするため。非同期通信はレスポンスが返る前に次の処理にいく。 解決策 基本的には2番めの方がおすすめ。 その1.同期通信にする async: falseとすると、同期通信になる。 ただし同期通信の場合は時間がかかる処理をすると、その間UIがロックされてしまう。なのであまりやらない方がいい。 function test(