Ajax无法在移动设备上运行

时间:2015-01-08 10:24:22

标签: javascript jquery ajax

我正在研究ajax功能来计算按钮上的点击次数

我的ajax代码是

<script type="text/javascript"> 
      function call_user(user_id){ 
      jQuery.ajax({
       type: 'POST',
   data: 'user_id='+user_id,
    url : '<?php echo $this->basePath(); ?>/ajax/call.php',

  });
      }
</script>

HTML代码

<a href='tel:<?php echo $row['contact']; ?>' onclick='call_user(<?php echo $row['user_id'];?>);'  title='Call'>Call Now</a>

它是一个call now按钮并且点击它我正在调用call_user()javascript函数。

计算点击次数和数据库查询的逻辑用call.php文件

编写

它在桌面/笔记本电脑版本中运行良好。但是计数器并没有在移动设备中增加(iphone / android)。我想ajax不会在移动设备中被调用。

可能是什么问题。请帮忙。

1 个答案:

答案 0 :(得分:2)

当我尝试原始代码时,即使在桌面上也无法提醒点击事件中的任何内容,这表明您的事件绑定可能存在问题。

我创建了一个jsfiddle,我使用jquery和css类绑定了click事件,并为user_id添加了一个数据值。这是在桌面和移动设备上触发点击事件。

http://jsfiddle.net/williamtdavies/871af5o0/

$(document).ready(function(){
$('.call__link').on('click', function(){
   var user_id = $(this).data('userid');
   alert(user_id);
   jQuery.ajax({
       type: 'POST',
       data: 'user_id='+user_id,
        url : '<?php echo $this->basePath(); ?>/ajax/call.php',
      });
});});

<a class="call__link" href="tel:" title="Call" data-userid="123">Call Now</a>

您将注意到正在触发警报,因此将启动ajax调用。

我原本以为它可能是tel:劫持事件但是你会在移动设备上看到tel:event和click事件被调用。

如果您使用实时代码尝试上述示例并在移动设备上发出警报,那么我们可以确认它是ajax请求本身,这将是要关注的领域。