次の抽出では、データベースから情報を取得し、その値を返して自分のページを更新するための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の相対的な初心者ですので、どんな考えやコメントも非常に高く評価されます。
多分、相対URLと関係がありますか?私はそれがデスクトップ上で動作し、モバイルでは動作しない他の理由について考えることはできません。スクリプトにアクセスする方法(つまり、localhostと別のドメイン)のような別の要素が必要です。別のデスクトップコンピュータから試しましたか? – Johnny
興味深いことに、クリックしたときに表示するアラートを追加しました。 'alert(data [1]);' モバイルでボタンをタップすると、クリックイベントが登録されないようです!しかし、私が約1秒間ボタンに指を保持すると、クリックが登録されます。今までこれを見たことがありますか?それがiOS Safariの「機能」であるかどうか疑問に思った。 – keeper
OKこれはMagicZoomのプラグインと関係があります。私はajaxをトリガーするボタンを使用してプラグインの機能を妨害しているようですが、その逆もそうです。非常に奇妙なので、私はMagicZoomに答えを求めました。 – keeper