从链接运行PHP代码而不重定向

时间:2013-02-13 11:34:02

标签: php javascript ajax jquery

我想在用户点击给定链接时执行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是一个php代码,它实现了链接中的一个android GCM机制similer:GCM with PHP (Google Cloud Messaging)

但不幸的是,当点击链接时没有任何反应,php代码没有执行,只有页面的url从*****。com / test.html更改为*****。com / test。 html#,顺便说一句,我测试了php代码,它的工作正常,所以它在PHP代码中不是问题,所以我错过了什么?为什么代码没有被执行?

6 个答案:

答案 0 :(得分:1)

我找到了解决方案,可能在我的代码中没有包含jquery库的问题

答案 1 :(得分:0)

有时,您可能需要从链接中调用一些JavaScript。通常,当用户点击链接时,浏览器会加载新页面(或刷新同一页面)。

这可能并不总是可取的。例如,您可能只想在用户单击链接时动态更新表单字段。

为防止负载刷新,您可以使用JavaScript void()函数并传递0(零)参数,如下所示。

<a href="JavaScript:void(0);" onclick="return doSomething(); " />Click Me!</a>

现在,如果你想使用href =“#”,请确保onclick最后总是包含return false;

使用href="javascript:void(0)"

答案 2 :(得分:0)

你正在使用jquery。 $ .get()将如下所示。

$.get('ajax/test.html', function(data) {
 $('.result').html(data);
 alert('Load was performed.');
});

有关进一步的帮助,请查看http://api.jquery.com/jQuery.get/

答案 3 :(得分:0)

您还可以使用 jQuery Load

function doSomething() {
$('#result').load('up.php', function() {
  alert('Load was performed.');
});
}

答案 4 :(得分:0)

当您使用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结果。

答案 5 :(得分:0)

好的开始使用火虫并观察控制台和网络面板 确保浏览器尝试获取某些内容,而不是在get

上返回404或php错误

查看防止默认http://api.jquery.com/event.preventDefault/ 停止原始链接功能

如果您仍希望他们移动到链接,请使用窗口位置或...

查看引导链接按钮

http://twitter.github.com/bootstrap/base-css.html#buttons (链接按钮)