Intereting Posts

Как отправить или присвоить значение переменной JQuery переменной php?

Я получил ответ от этого сообщения [ Как отправить или присвоить значение переменной JQuery переменной php? но каким-то образом мой PHP не может получить значение, переданное из JQuery
это html-код

<a href="random.php" id="comp1">comp1</a> <a href="random.php" id="comp2">comp2</a> <a href="random.php" id='comp3'>comp3</a> 

Код JQuery

 $('a').click(function(){ $.ajax({ type: 'POST', url:'random.php', data: {name:$(this).attr('id') } }).done(function(msg){ alert(msg) }) }) 

и PHP-код

 <?php $id = $_POST['name'] ; echo $id; ?> 

Возможно, вы захотите использовать e.preventDefault(); для предотвращения поведения гиперссылки по умолчанию. Поскольку ваш тег <a имеет ссылку на random.php который должен переходить на другую страницу.

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

Ваш код может выглядеть так:

 $('a').click(function(e){ e.preventDefault(); $.ajax({ type: 'POST', url:'random.php', data: {name:$(this).attr('id')} }).done(function(msg){ alert(msg); }); }); 

Документ event.preventDefault() находится здесь:
http://api.jquery.com/event.preventdefault/


Это может быть не главная проблема, но вам не нужно писать href для random.php следующим образом:

  <a href="random.php" id="comp1">comp1</a> 

Думаю, вы могли бы так:

  <a href="#" id="comp1">comp1</a> 

Или вот так:

  <a href="javascript:void(0)" id="comp1">comp1</a> 

Вы можете прочитать эту страницу:

Какое значение «href» следует использовать для ссылок на JavaScript, «#» или «javascript: void (0)»?

Надеюсь это поможет.

Попробуйте это, вам нужно предотвратить действие onclick, чтобы перейти на эту страницу.

 $(document).ready(function() { $("a").click(function() { $.ajax({ type: "POST", url: "random.php", data: {"name" : $(this).attr('id')} }).done(function( msg ) { alert( "Data Saved: " + msg ); }); return false; // prevent from browsing that page }); }); 

HTML:

 <a href="javascript:;" id="comp1">comp1</a> <a href="javascript:;" id="comp2">comp2</a> <a href="javascript:;" id='comp3'>comp3</a> 

JS:

 $('a').click(function(){ $.ajax({ type: "POST", url: 'random.php', data: { name: $(this).attr('id') } }) .done(function( msg ) { alert( msg ); }); }); 

Использовать href="javascript:;" attr или e.preventDefault(); внутри обработчика событий, чтобы предотвратить выполнение ссылки.