如何发送或分配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/


这可能不是主要问题,但你不必像这样写hrefrandom.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:无效(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();来阻止链接执行

最新更新