簡體   English   中英

在帶有 Ajax 的 jQuery 按鈕中添加對 PHP 的調用

[英]Add a call to PHP in a jQuery button with Ajax

我試圖在我的 DokuWiki 中修改Save 按鈕的行為( 請參閱我在他們論壇上的帖子,但尚無答案)。

我想在用戶點擊Save Button時調用一個特定的file.php ,即每次在 wiki 中進行編輯時。 PHP 文件重新計算 Wiki 中的所有連接,並使用 Rscript 創建頁面之間鏈接的新網絡圖。

我認為最好的方法是在單擊按鈕時使用Ajax (有關如何執行此操作,請參閱此答案)。 這是 DokuWiki 中按鈕的原始 jQuery 代碼

// reset change memory var on submit
jQuery('#edbtn__save').on('click',
    function() {
        window.onbeforeunload = '';
        textChanged = false;
    }
);

我想添加如下內容:

jQuery('#edbtn__save').on('click',
    function() {
        window.onbeforeunload = '';
        textChanged = false;
        $.ajax({
          url: "./data/forms/file.php",
          }).done(function( msg ) {
            alert( "Data Saved: " + msg );
          });
        }
);

但這還行不通(我也嘗試了不同的 URL,但目前尚不清楚在我的本地主機上運行 DokuWiki 時該使用什么)。 我從未研究過 jQuery 或 Ajax,所以這對我來說是新的。 我真的不明白它是如何工作的,但它可能只需要一個簡單的修復。

這是 file.php 的樣子:

<?php
include("./data/forms/myFunctions.php");
matrixer();
 ?>

PS:我找到的關於 function on()DokuWiki 源代碼的文檔。

今天早上我發現了一個非常有用的鏈接 由此我能夠解決它。

所以正確的代碼是:

jQuery('#edbtn__save').on('click',
    function() {
        window.onbeforeunload = '';
        textChanged = false;
        jQuery.ajax({
          type: 'POST',
          url: '/~User/dokuwiki/data/forms/file.php',
          success: function(data) {
              alert(data);
              $("p").text(data);
            }
        });
    }

有用 ! 確保文件可通過瀏覽器訪問以避免Error 403 (Forbidden)

暫無
暫無

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

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