防止HREF重定向但仍在完成操作?

时间:2016-12-22 22:45:14

标签: javascript php jquery html ajax

我有一个使用Jquery Mobile列表视图的页面。我试图找到一种方法来保持listview外观,但是有一个执行命令的按钮,而不像正常那样重定向。

以下是如何生成Ahrefs。

if ($result = mysqli_query($link, $query)) {
    /* fetch associative array */
    while ($row = mysqli_fetch_assoc($result)) {
        if ($row['photoLink'] == NULL)
        {
            $row['photoLink'] = "endofgroup";
            $row['lastName'] = "End Of Group " ;
            $ID = "&ID=".$row['ID'];
        }
        if ($row[leftGym] == "1") { $flash = "style='color:#B22222;font-size:140%'";} else {$flash ="";}
            $row['firstName'] = strtoupper($row['firstName']);
        $row['lastName'] = strtoupper($row['lastName']);
            echo "<li><a href='WPSelect.php?sid=${row['sID']}' $flash  style='font-size:140%;' width='25px' data-ajax='false'>&nbsp;  &nbsp;  {$row["lastName"]}, {$row["firstName"]}</a><div class='split-custom-wrapper'>
            <a href='WDData.php?sID={$row['sID']}&lane=1{$ID}'  data-role='button' class='split-custom-button' data-icon='delete' data-rel='dialog' data-theme='c'  data-ajax='false' data-iconpos='notext'></a>           
        </div></li>";
    }
    /* free result set */
    mysqli_free_result($result);
}

这是我试过的代码

<script>
$(function() {
//Attache the click event and perform this function
  $("a").on('click', function(e) {
    e.preventDefault(); //preven the page from navigating, the default behaviour for a link
    $.ajax({
      url: this.href, //perform a ajax request witht the link
      /* type: POST, */
      beforeSend: function() {
        $("#status").text('Working..')
      }
    }).done(function(data) {
      console.log(data); //do something with the data if any
    }).fail(function(jqXHR, textStatus, errorThrown) {
      console.log("ERROR"); //report in console for errors
      console.info(jqXHR);
      console.info(textStatus);
      console.info(errorThrown);
    }).always(function() {
      $("#status").text('completed..')
      console.info("completed"); //do this step everytime irrespective of result
    });
  })
})
</script>

任何人都可以看到我可能做错了吗?或者我的想法是否可能?有没有更好的方法来解决这个问题?我想要的是用户能够单击链接,保持在同一页面上,但在引用的页面上处理脚本。

提前致谢!

1 个答案:

答案 0 :(得分:3)

点击功能结束时

return false;。如果没有这样做,您的数据库响应将返回重定向的内容。