-3

这是我的index.html页面,我试图在单击锚标记时实现一个简单的 AJAX,文本将被传递到 PHPdata.php页面,并且该页面将显示被单击的页面。是的,代码正在运行,但是当我第一次单击链接时,什么都没有显示,并且从第二次开始它就开始工作了。问题究竟出在哪里?

这是我的脚本

<script>
$(document).click(function(){
    $("a").click(function(){
        //when clicked our ajax will work
        $.get('data.php',{'page':$(this).text()},function(data){
            $('#result').html(data);
        });
    });
});
</script>

这是我的 AJAX PHP

<?php    
$anchortext=$_GET['page'];
if(isset($anchortext))
{
    echo 'this is a'.$anchortext;
}   
?>
4

2 回答 2

6

你放错地方$(document).click(..)$(document).ready(....),所以只有在第一次点击之后,点击处理程序才会注册到a元素

$(document).ready(function(){
    $("a").click(function(){
        //when clicked our ajax will work
        $.get('data.php',{'page':$(this).text()},function(data){
            $('#result').html(data);
        });
    });
});
于 2013-08-17T10:18:21.700 回答
1

使用$(document).ready而不是$(document).click.

于 2013-08-17T10:26:05.073 回答