Ajax Post不适用于移动浏览器

时间:2016-10-16 13:37:17

标签: php jquery ajax magiczoom magiczoomplus

以下提取调用一个php文件,该文件从数据库中检索一些信息并返回随后用于更新我的页面的值。在标准浏览器上完美运行,但只要我在移动设备上尝试它就无法更新。

//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的相对新手所以任何想法或评论都会非常感激。

1 个答案:

答案 0 :(得分:0)

好的,对于今后可能会使用魔术变焦来遇到这个问题的人来说。

问题在于......当我点击手机上的按钮时,它没有注册点击事件!然而,当我用手指按住按钮大约一秒钟时,它会记录下来。

我的按钮是根据检索到的记录数添加的,使用以下php存储在数组中,以创建我的链接,按照MagicZoom插件的要求设置为按钮。

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类的点击事件。

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