Ajax Post метод с использованием jquery - PullRequest
0 голосов
/ 19 ноября 2009
<script type='text/javascript'>
$("#cart").click(function() {
var loadUrl = "ajax_redirect.php";
var val = "2";
$.post(loadUrl,
{ page: "cart", data: val },

   function(data)
   {
 alert(data);
     alert("Course added to Cart");
   }
  );
});
</script>
<body>
 `<a class="button" id="cart" href="#" title="Apply"><img src="images/button.png" alt="apply" />Apply</a>`
</body>

Если я нажму на ссылку <a>, ничего не произойдет, кроме обновления. Я не могу получить возвращаемое значение данных.

1 Ответ

1 голос
/ 19 ноября 2009

Ваш скрипт запускается до того, как элемент a существует и готов в DOM. Вы должны были обернуть все это в <a href="http://docs.jquery.com/Events/ready#fn" rel="nofollow noreferrer">$(document).ready()</a> вызов, например:

$(document).ready (function () {
    $("#cart").click(function(event) {
        event.preventDefault ();
        var loadUrl = "ajax_redirect.php";
        var val = "2";
        $.post(loadUrl,
            { page: "cart", data: val },
            function(data)
            {
                alert(data);
                alert("Course added to Cart");
            }
        );
    });
});

Также обратите внимание на <a href="http://docs.jquery.com/Events/jQuery.Event#event.preventDefault.28.29" rel="nofollow noreferrer">event.preventDefault()</a>, чтобы ссылка не выполняла действие по умолчанию

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...