как отправить значение привязки с jquery ajax на php - PullRequest
3 голосов
/ 17 марта 2020

Я пытаюсь отправить значения нескольких якорей с файлом 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 (процесс. php):

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

}

что я делаю не так?

Чего я хочу добиться: нажмите на звезде 5 верните мне значение «5». Нажмите на звезду 4, верните мне значение "4" и так далее ...

1 Ответ

4 голосов
/ 17 марта 2020

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>
...