我从这篇文章中得到了答案[
How to send or assign Jquery Variable value to php variable?但不知怎的,我的PHP无法获得从Jquery传递的值
这是HTML代码
这是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 $id = $_POST['name'] ; echo $id; ?>
解决方法
我猜你可能想用e.preventDefault();防止超链接的默认行为.
因为你的< a标签有一个指向random.PHP的链接,它将跳转到另一个页面.
因为你的< a标签有一个指向random.PHP的链接,它将跳转到另一个页面.
$('a').click(function(e){ e.preventDefault(); ..... }
你的代码可能是这样的:
$('a').click(function(e){ e.preventDefault(); $.ajax({ type: 'POST',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)”?
希望这可以帮助.