Как я могу использовать jQuery для изменения заголовков POST по клику?

0

У меня есть некоторые ссылки, которые я хочу изменить POST onclick. Я могу выполнить это с помощью формы, но я хочу использовать short-hand jQuery.

Прямо сейчас, я получаю тупик с синтаксисом jQuery. Я знаю, что хочу сделать что-то вроде этого:

<a href="#" onclick="$(this).load('purchase/credits', 'package=3')">Test</a>

Но это загружает "покупку/кредит" в теге <a>.

Итак, я подумал что-то вроде этого...

<a href="#" onclick="$(this).post('purchase/credits', 'package=3')">Test</a>

Но это не работает.

Нужно ли делать теги формы, например?

<form action="purchase/credits" method="post">
   <input name="credits" value="3" type="hidden" />
   <submit>
</form>

Я использую PHP, jQuery, Apache.

1 ответ

2
Лучший ответ

Синтаксис неверен, используя функцию $.post utility:

$.post('purchase/credits', { package: 3 }, function(responseData) {
    // ...
}).fail(function() {
    // failed
});

http://api.jquery.com/jQuery.post/

Поскольку вы используете jQuery, вы можете использовать метод jQuery .on() вместо атрибута onclick:

<a href="#" class='className' data-package="1">Test</a>
<a href="#" class='className' data-package="2">Test</a>

jQuery(document).ready(function($) {
   $('.className').on('click', function(e) { 
        e.preventDefault();
        $.post('purchase/credits', { package: $(this).data('package') })
                    .done(function(responseData) {
                         // ...
                    }).fail(function() {
                        // failed
                    });
   });
});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню