我想在用户点击给定链接时执行php代码,我尝试了以下代码
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript">
function doSomething() {
$.get("up.php");
return false;
}
</script>
</head>
<body>
<center>
<a href="#" onclick="doSomething();">Click Me!</a>
</center>
</body>
</html>
其中,up.php是一个实现android GCM机制的php代码,类似于链接中的机制:GCM with php(Google Cloud Messaging)
但不幸的是,当链接被点击时,什么都没有发生,php代码没有执行,只有页面的url从*****.com/test.html更改为*****.com/test.html#,顺便说一句,我已经测试了php代码,它工作得很好,所以php代码中没有问题,所以我在这里错过了什么?为什么不执行代码?
我找到了解决方案,jquery库可能不包括在我的代码中
您正在使用jquery.$。get()将如下所示。
$.get('ajax/test.html', function(data) {
$('.result').html(data);
alert('Load was performed.');
});
以获取进一步的帮助检查http://api.jquery.com/jQuery.get/
有时,您可能需要从链接中调用一些JavaScript。通常,当用户单击链接时,浏览器会加载一个新页面(或刷新同一页面)。
这可能并不总是可取的。例如,您可能只想在用户单击链接时动态更新表单字段。
为了防止刷新加载,可以使用JavaScriptvoid()函数并传递一个参数0(零),如下所示。
<a href="JavaScript:void(0);" onclick="return doSomething(); " />Click Me!</a>
现在,如果要使用href="#",请确保onclick的末尾始终包含return false;
。
或
使用href="javascript:void(0)"
您也可以使用jQuery Load
function doSomething() {
$('#result').load('up.php', function() {
alert('Load was performed.');
});
}
当您使用Jquery
时,应该是:
function doSomething(){
$.get('up.php', function(data) {
$('.data').html(data);
});
}
链接
要停止页面刷新,可以使用javascript void()函数并传递参数0。
<a href="javascript:void(0);" onclick="return doSomething();">Click Me!</a>
<div class="data"></div>
此div用于显示up.php结果
使用fire bug启动并监视控制台和网络面板确保浏览器正在尝试获取某些内容,并且在获取时没有返回404或php错误
查看防止默认http://api.jquery.com/event.preventDefault/停止的原始链接功能
如果您仍然希望它们移动到链接,请使用窗口位置或。。。
查看引导程序链接按钮
http://twitter.github.com/bootstrap/base-css.html#buttons(链接按钮)