如何将 jquery ajax 的锚值发送到 php

how to send the value of an anchor with jquery ajax to php

我正在尝试将带有 jquery 的几个锚点的值发送到 php 文件,但我没有收到来自 php 脚本的回调。

<div class="result"></div>

<a href="#" value="5" class="star">Star 5</a>
<a href="#" value="4" class="star">Star 4</a>
<a href="#" value="3" class="star">Star 3</a>
<a href="#" value="2" class="star">Star 2</a>
<a href="#" value="1" class="star">Star 1</a>

jquery:

$('a').on('click', function(e) {
    e.preventDefault();

    var star = $(".star").val();

    $.ajax({
        url: 'process.php',
        type: 'POST',
        data: {
                star:star                           
                },

        success: function(data){
            $('.result').html(data);                        
        }       
    });
});

和 php (process.php):

if (isset($_POST['star'])) {        
    $star = $_POST['star'];
    echo $star;

}

我做错了什么?

我要实现的目标:点击星5,还我值“5”。 点击Star 4,给我返回值“4”等等...

value 不是 <a> 标签的可接受属性,您可以在 https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a

查看可用属性

我会推荐:

<div class="result"></div>

<a href="#" data-value="5" class="star">Star 5</a>
<a href="#" data-value="5" class="star">Star 4</a>
<a href="#" data-value="5" class="star">Star 3</a>
<a href="#" data-value="5" class="star">Star 2</a>
<a href="#" data-value="5" class="star">Star 1</a>

<script>
$('a').on('click', function(e) {
    e.preventDefault();

    var star = $(this).data('value');

    $.ajax({
        url: 'process.php',
        type: 'POST',
        data: {star:star},
        success: function(data){
            $('.result').html(data);                        
        }       
    });
});
</script>