如何将Jquery变量值发送或分配给php变量?

时间:2014-07-05 12:31:12

标签: php jquery

我从这篇文章[How to send or assign Jquery Variable value to php variable?得到了答案,但不知怎的,我的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;

?>

3 个答案:

答案 0 :(得分:2)

我猜您可能希望使用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>

您可能想要阅读此页面:

Which "href" value should I use for JavaScript links, "#" or "javascript:void(0)"?

希望这有帮助。

答案 1 :(得分:1)

试试这个,您需要阻止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
    });
});

答案 2 :(得分:1)

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();来阻止链接执行。