2016-10-16 3 views
0

다음 추출은 데이터베이스에서 일부 정보를 검색하고 내 페이지를 업데이트하는 데 사용되는 값을 반환하는 PHP 파일을 호출합니다. 표준 브라우저에서 완벽하게 작동하지만 모바일에서 시도하자마자 업데이트하지 못합니다.Ajax Post 모바일 브라우저에서 작동하지 않습니다

//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)); 

를 이용한다.

나는 아약스에 대한 상대적으로 초보자이므로 어떤 생각이나 의견이라도 대단히 감사하겠습니다.

+0

아마 상대 URL과 관련이 있습니까? 데스크톱이 아닌 모바일에서 작동해야하는 다른 이유는 생각할 수 없습니다. 스크립트에 액세스하는 방법 (예 : localhost 대 다른 도메인)과 같은 또 다른 요소가 있어야합니다. 다른 데스크탑 컴퓨터에서 해봤습니까? – Johnny

+0

흥미롭게도 내가 클릭했을 때 표시 할 경고를 추가했습니다. 모바일에서 버튼을 탭하면 클릭 이벤트가 등록되지 않는 것 같습니다! 그러나 약 1 초 동안 버튼에 내 손가락을 쥐고 있으면 클릭 수가 등록됩니다. 전에 이것을 본적이 있습니까? 그것이 iOS Safari의 '기능'일지 궁금하다. – keeper

+0

OK 이것은 MagicZoom 플러그인과 관련이 있습니다. 아약스를 트리거하는 버튼을 사용하면 플러그인 기능을 방해하고 그 반대의 경우도 마찬가지입니다. 이상하게도 MagicZoom에 연락하여 답변을드립니다. – keeper

답변

0

마술 줌을 사용하여 앞으로이 문제가 발생할 수있는 사람을 위해 알아 냈습니다.

문제는 ... 모바일에서 버튼을 클릭하면 클릭 이벤트가 등록되지 않았습니다. 그러나 약 1 초 동안 버튼에 내 손가락을 쥐고 있으면 클릭 수가 등록됩니다.

내 버튼은 검색된 레코드 수를 기반으로 추가되며 다음 PHP를 사용하여 배열에 저장되어 MagicZoom 플러그인에서 요구하는대로 버튼 스타일로 링크를 만듭니다. 그것은 빠른 탭 인다로 <a>에 다음 추가하여

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>"; 

그것은했다.

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

최종 코드 스 니펫은 다음과 같습니다. ontouchstart는 phone, tablet 및 desktop에서 작동하는 .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>"; 
관련 문제