Javascript 使用<;a>;标签

Javascript 使用<;a>;标签,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,我有一个a标签,当点击它时,页面会被重新加载,某些php代码会被执行。成功执行php代码后,页面将重定向到同一页面 现在,问题是页面跳转到顶部,我想这是正常的,除非你不使用ajax。所以,如果我能在下面的代码行中得到一些帮助 html: 注意:所有代码都是相同的page home.php 如果我能做到这一点而不重新加载整个页面,那将非常有帮助 [编辑]我很抱歉没有在我的问题中添加这一点。我正在使用php在我的页面上显示来自mysql数据库的大量数据。因此,所有数据都具有相同的id和类要使重定向页

我有一个a标签,当点击它时,页面会被重新加载,某些php代码会被执行。成功执行php代码后,页面将重定向到同一页面

现在,问题是页面跳转到顶部,我想这是正常的,除非你不使用ajax。所以,如果我能在下面的代码行中得到一些帮助

html:

注意:所有代码都是相同的page home.php 如果我能做到这一点而不重新加载整个页面,那将非常有帮助


[编辑]我很抱歉没有在我的问题中添加这一点。我正在使用php在我的页面上显示来自mysql数据库的大量数据。因此,所有数据都具有相同的id和类

要使重定向页面向下滚动到初始位置,请在位置标头的末尾包含一个片段(#):

if(isset($_GET['key']) && isset($_GET['val'])){
            //some task....
            header('location:home.php#ajax_reload"'); 
}

一个更简单的解决方案是使用标记构建链接,并在HTML中添加标记,例如:

<a href="home.php#LinkThisPartOfThePage?key=some_value&val=1" id="ajax_reload">Unfollow</a>
<div name="LinkThisPartOfThePage">...</div>

...

现在,您的链接将指向特定的
div

如果您希望在PHP中执行操作而不重新加载页面,那么解决方案是使用ajax

例如:

Html:

<a href="#" id="ajaxButton">Click !</a>
$("#ajaxButton").on('click', function() {
   var btn = $(this);
   $.ajax({
        url : 'phpscript.php?key=somevalue&val=1',
        type : 'GET',
        dataType : 'json', 
        success : function(dataObject, statut){ 
            // some tasks ...
            console.log(dataObject);
        },

        error : function(result, statut, error){
            console.log(erreur);
        }
    });
});
<?php
    if(isset($_GET['key']) && isset($_GET['val'])){
        //some task....
        return json_encode($result);
    }
?>
PHP:

<a href="#" id="ajaxButton">Click !</a>
$("#ajaxButton").on('click', function() {
   var btn = $(this);
   $.ajax({
        url : 'phpscript.php?key=somevalue&val=1',
        type : 'GET',
        dataType : 'json', 
        success : function(dataObject, statut){ 
            // some tasks ...
            console.log(dataObject);
        },

        error : function(result, statut, error){
            console.log(erreur);
        }
    });
});
<?php
    if(isset($_GET['key']) && isset($_GET['val'])){
        //some task....
        return json_encode($result);
    }
?>


通过这种方式,PHP的返回将与javascript一起使用,而无需任何重新加载

请尝试通过ajax执行此操作

<a href="javascript:void(0);" class="ajax_reload" data-key="some_value" data-someval="1">Unfollow</a>
    <script>
    $(function(){
        $('.ajax_reload').on('click',function(){
     $.ajax({
                 url : home.php,
                 type:'POST',
                 data : {key: $(this).data('key'), val:$(this).data('someval')},
                dataType:'json',
                success:function(data)
                {
                    if(data.success==1)
                   location.reload();
                }
            });
    });

它可能包含一些语法错误。这是如何通过ajax使用它的基本想法。

您想解释一下您想要实现什么吗?如果您在home.php中,为什么在If语句任务完成后要重定向到home.php?如果希望在不重新加载页面的情况下执行操作,则必须使用Ajax@WillParky93这是因为在if语句中,我正在进行某些更改,这些更改将影响页面的外观。在我的页面上进行更改。我正在重新加载它。所以HTML中显示了这些变化。@Companjo我希望我可以,但解释我试图实现的目标有点复杂,但这正是我希望做到的。谢谢你对我的问题表现出兴趣。我希望得到这个社区的帮助。谢谢。是的,我真的很抱歉没有在我的问题中添加这个。我正在使用php在我的页面上显示来自mysql数据库的大量数据。因此所有数据都有相同的id和类。是的,我很抱歉没有在我的问题中添加这个。我正在使用php在我的页面上显示来自mysql数据库的大量数据。因此,所有数据都具有相同的id和类。我也在问题中添加了此链接。链接不再可单击。控制台中是否有任何错误?并尝试在函数
$('#ajax_reload')中发出警报。在('click',function(){
上出现了一些错误,例如url缺少反向comas。然后在数据类型末尾出现错误:“json”除了它之外,还可以找到任何我在控制台“使用getPreventDefault()时遇到的错误已弃用。请改用defaultPrevented“因此,我想您知道我正在使用while循环来显示表中的数据,这类似于post。因此,问题是只有第一个post链接是可单击的。除此之外,其他链接不起作用。如果我删除if(data.success==1),也会出现这种情况。页面正在加载,更改正在成功进行。但这只是第一篇文章。其余部分不起作用。此代码与nikita的代码非常相似。但我无法使用此代码,因为这里的javascript中使用了key和val。但我正在从给出标记的数据库循环中提取它们。感谢您的时间和帮助。
if(isset($_POST['key']) && isset($_POST['val'])){
            //some task....
           echo json_encode(array('success'=>1));exit();
       }