2016-10-16 20 views
0

次の抽出では、データベースから情報を取得し、その値を返して自分のページを更新するためのPHPファイルを呼び出します。標準のブラウザでは完全に動作しますが、モバイルで試すとすぐに更新に失敗します。Ajaxポストはモバイルブラウザでは動作しません

//function - Retrieve Stats from mysql 

$(function(){ 

    $('.sessionset').on('click', function(e){ 

     //Retrieve Approach details onclick of an Approach button 
     $.ajax({ 
     type: 'POST', 
     dataType: 'json', 
     url: '../_includes/retrieveStats.php', 
     data: {approach: $(this).attr("alt")}, 
      success: function(data) { 
       $("#approach").html("Départ "+data[0]); 
       $("#stats").html(data[1]); 
       $("#summary-description").html(data[2]); 

      } 
     }); 
    }); 
//End function - Retrieve Stats from mysql 
}); 

RetrieveStats.phpは、必要な値を返すために

echo json_encode(array($approachDisplayName, $approachStats, $summary)); 

を使用しています。

私はajaxの相対的な初心者ですので、どんな考えやコメントも非常に高く評価されます。

+0

多分、相対URLと関係がありますか?私はそれがデスクトップ上で動作し、モバイルでは動作しない他の理由について考えることはできません。スクリプトにアクセスする方法(つまり、localhostと別のドメイン)のような別の要素が必要です。別のデスクトップコンピュータから試しましたか? – Johnny

+0

興味深いことに、クリックしたときに表示するアラートを追加しました。 'alert(data [1]);' モバイルでボタンをタップすると、クリックイベントが登録されないようです!しかし、私が約1秒間ボタンに指を保持すると、クリックが登録されます。今までこれを見たことがありますか?それがiOS Safariの「機能」であるかどうか疑問に思った。 – keeper

+0

OKこれはMagicZoomのプラグインと関係があります。私はajaxをトリガーするボタンを使用してプラグインの機能を妨害しているようですが、その逆もそうです。非常に奇妙なので、私はMagicZoomに答えを求めました。 – keeper

答えて

0

マジックズームを使用してこれを将来にわたって見つけ出す可能性のある人のために、それを理解しました。

この問題は...私がモバイル上のボタンをタップすると、クリックイベントが登録されませんでした!しかし、私が約1秒間ボタンに指を保持すると、クリックが登録されます。

私のボタンがMagicZoomプラグインで必要とされるボタンとしてスタイル私のリンクを作成するには、次のPHPを使用して配列に格納された取得するレコードの数に基づいて追加されます。

echo "<a 
    data-zoom-id=\"climbprofile\" 
    href=\"" . $pathZoomFolder . $arrayApproaches[$x] . "-zoom.jpg\" 
    data-image=\"" . $pathMainFolder . $arrayApproaches[$x] . "-main.jpg\" 
    type=\"button\" 
    class=\"sessionset btn btn-default btn-xs \"> 
    <h5>Button Text</h5></a>"; 

<a>に次を追加することで、それが必要として、それは速いタップで働きました。

ontouchstart=\"$(this).trigger('click');\" 

最後のコードスニペットは次のようになります。 ontouchstartは、クラス、.sessionsetのclickイベントを、現在の電話、タブレット、およびデスクトップ上で動作させます。

echo "<a ontouchstart=\"$(this).trigger('click');\" 
    data-zoom-id=\"climbprofile\" 
    href=\"" . $pathZoomFolder . $arrayApproaches[$x] . "-zoom.jpg\" 
    data-image=\"" . $pathMainFolder . $arrayApproaches[$x] . "-main.jpg\" 
    type=\"button\" 
    class=\"sessionset btn btn-default btn-xs \"> 
    <h5>Button Text</h5></a>"; 
関連する問題