Роман Олегович в рубрику JavaScript

Вопрос: GET запросы в jQuery

Приветствую. Делаю у себя на сайте в локальной сети рейтинг как на этом сайте, в каждой статье будет присутствовать что-то типа: + Значение рейтинга -
То есть на сайте будет вот такой блок:

<div id="rating">
  <a href="actions/rate.php?a=p>+</a> <? echo $rating; ?> <a href="actions/rate.php?a=m>+</a>
</div>

То есть мне нужно, что бы при нажатии на + или -, выполнялся скрипт rate.php, и блок с рейтингом обновлялся, отображая уже новое значение рейтинга. Как такое сделать?
Искал в сети информацию по GET запросам в jQuery, но так толком ничего не понял. Заранее спасибо за помощь.

Задайте свой вопрос

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

Задать свой вопрос

Расскажите друзьям

Ответы на вопрос — 5

Grin
Мы вот так делаем:
function votingControls() {
	var voteBtns = $('a.voteFor, a.voteAgainst');
	
	voteBtns.each(function() {
		$(this).click(function(e) { 
			e.preventDefault();
			var artId = this.id.split('-')[3];
			
			if(!$('#voteblock-' + artId).hasClass('disabled')) {
			
				if($('#'+ this.id).hasClass('voteFor')) n = 1;
				else n = -1; 
			
				$('#total-votes-' + artId).text(parseInt($('#total-votes-' + artId).text()) + n);			
				$('#voteblock-' + artId).addClass('disabled');
				
				$.ajax({ type: "GET", url: this.href }); // вот гет запрос, кстати
			}
		});
	});
}
Роман Олегович
Не выходит, использовал Ваш скрипт:
var voteBtns = $('a.voteFor, a.voteAgainst');
	
	voteBtns.each(function() {
		$(this).click(function(e) { 
			e.preventDefault();
			var noteId = this.id.split('=')[2];
			
			if(!$('#voteblock-' + noteId).hasClass('disabled')) {
			
				if($('#'+ this.id).hasClass('voteFor')) n = 1;
				else n = -1; 
			
				$('#total-votes-' + noteId).text(parseInt($('#total-votes-' + noteId).text()) + n);			
				
				$.ajax({ type: "GET", url: this.href });
			}
		});
	});
}


В выводе статей следующий блок:

<span class='vote' id='voteblock'>
<a href='includes/rate.php?a=p&id=%s' class='voteFor' id='link-vote-for-%s'>+</a>
<span class='totalVotes' id='total-votes-%s'>%s</span>
<a href='includes/rate.php?a=m&id=%s' class='voteAgainst' id='link-vote-against-%s'>-</a>
</span>

Где %s это id статьи, и значение рейтинга.
При нажатии на + или -, скрипт rate.php открывается в новом окне, и успешно выполняется, вместо того чтобы выполнится запросом jQuery. Что я делаю не так?
#
Роман Олегович
Grin
а что у тебя скрипт возвращает? Кстати, посмотри как у нас выглядит блок и у тебя :-) У нас скрипт ничего не возвращает
Роман Олегович
Блок я у вас позаимствовал что бы скрипт работал, т.к. толком еще не разобрался что к чему :)
Скрипт ничего не возвращает, только обновляляет значение в БД.
Попробовал сделать такой рейтинг с помощью библиотеки prototype.js, работает:

<div id='voteblock'>
  <a onclick='rate_p()'><img src='images/design/%s' /></a> 
  %s 
  <a onclick='rate_m()'><img src='images/design/%s' /></a>
</div>
function rate_p() {
 new Ajax.Updater( 'voteblock', 'includes/rate.php?action=plus&id=<?php echo($id)?>');
}
Тут уже скрипт выводит "Спасибо за оценку" :)
#
Роман Олегович
Grin
Ну так возьми у нас полный код HTML и все будет работать ;-)

Новый ответ

как выглядит какой тег
жирный текст <b>жирный текст</b>
курсивный тект <i>курсивный тект</i>
зачеркнутый текст <s>зачеркнутый текст</s>
подчеркнутый текст <u>подчеркнутый текст</u>
ссылка <a href="адрес">ссылка</a>
function foo() { ... }
<pre><code>function foo() { ... } </code></pre>
разрешенные теги или посмотреть как будет выглядеть
как выглядит какой тег
жирный текст <b>жирный текст</b>
курсивный тект <i>курсивный тект</i>
зачеркнутый текст <s>зачеркнутый текст</s>
подчеркнутый текст <u>подчеркнутый текст</u>
ссылка <a href="адрес">ссылка</a>
function foo() { ... }
<pre><code>function foo() { ... } </code></pre>
разрешенные теги или посмотреть как будет выглядеть

metin2 pvp metin2 pvp serverler pvp serverler