簡體   English   中英

從鏈接運行php代碼而無需重定向

[英]running a php code from a link without redirection

當用戶單擊給定鏈接時,我想執行一個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代碼: 帶PHP的GCM(Google雲消息傳遞)

但是不幸的是,當單擊鏈接時,什么也沒有發生,沒有執行php代碼,只有頁面的URL形式從*****。com / test.html更改為*****。com / test.html#,順便說一下,我已經測試了php代碼,它的工作原理很好,所以這不是php代碼中的問題,所以我在這里錯過了什么? 為什么代碼沒有執行?

我找到了解決方案,我的代碼中可能未包含jquery庫的問題

有時,您可能需要從鏈接中調用一些JavaScript。 通常,當用戶單擊鏈接時,瀏覽器將加載新頁面(或刷新同一頁面)。

這可能並不總是令人滿意的。 例如,您可能只想在用戶單擊鏈接時動態更新表單字段。

為了防止負載刷新,可以使用JavaScript void()函數並按如下所示傳遞參數0(零)。

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

現在,如果要使用href =“#”,請確保onclick始終包含return false; 在末尾。

要么

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

您正在使用jquery。 $ .get()將如下所示。

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

如需更多幫助,請訪問http://api.jquery.com/jQuery.get/

您還可以使用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 (鏈接按鈕)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM