• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:JavaScript アクセスカウントの取得したい)

JavaScriptでサーバー側のアクセスカウントを取得したい

このQ&Aのポイント
  • JavaScriptを使用して、サーバー側に保管されているアクセスカウントを取得したいです。
  • 現在のコードでは、get_access_count.phpからアクセスカウントの情報を取得できません。
  • Ajaxを使用して非同期通信を行い、アクセスカウントの値を取得する方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.2

こんにちは。 呼び出し側で var count = getAccessCount(); alert ( count ); getAccessCount()側で // このcountの値を・・・ return count; のような感じで作っているなら値は入ってきません。 非同期で通信処理を行っているのでgetAccessCount()を呼び出してもカウント値を取り終わる前に処理がすすんでいます。 やるとしたら以下のように同期通信にて取得するようにすれば値は入りますが、 通信開始から通信終了までブラウザはほかの処理を受け付けなくなります。 function getAccessCount() { var returnCount = -1; $.ajax({ type: 'post', url: '取得用.php', cache: false, async: false, data: {}, success: function(count) { returnCount = count; }, error: function() { alert ( 'error' ); } }); return returnCount; } どこか画面上に値を表示するとかであれば非同期通信にしたうえでsuccessの中に処理を書くことをオススメします。 $.ajax({ type: 'post', url: '取得用.php', cache: false, data: {}, success: function(count) { $('#count').html(count); }, error: function() { alert ( 'error' ); } });

newtgecko
質問者

お礼

ご回答ありがとうございます。 Ajaxを使うなら、後者の方法がいいのでしょうが、前者のやり方が、やりたかった方法です。これで実際に組んでみます。ありがとうございました。

その他の回答 (2)

  • ONEONE
  • ベストアンサー率48% (279/575)
回答No.3

ちょっと勘違いしていました。 非同期通信のレスポンスデータは戻り値にはできませんが、 関数として扱いたい場合は下記のように記述すればよいです。 getAccessCount(function(count){   alert(count); }); function getAccessCount(handleData){   var sentdata = {        };   $.ajax({     type: 'post',     url: 'php/get_access_count.php',     cache: false,     data: sentdata,     success: function(count) {       // このcount の 値を getAccessCount()の戻り値にしたい       handleData = count;     },     error: function() {      alert("エラー");     }   }); }

newtgecko
質問者

お礼

なんどもご回答ありがとうございます!申し訳ありませんが、他の回答で解決しました。ありがとうございました。質問の仕方が悪くて、回答しづらかったことをお詫びします。

  • ONEONE
  • ベストアンサー率48% (279/575)
回答No.1

そのURLに同期的にPOST(必要なパラメータを渡して普通のサブミットで遷移)したらブラウザ上に数字が表示されますか?

関連するQ&A