簡體   English   中英

調用php函數並在單擊按鈕時重定向

[英]Calling a php function and redirecting on button click

我有一個php函數,其中正在創建一些pdf。 我有一個按鈕,我想在按鈕單擊時調用該函數,然后重定向到URL。 最簡單的方法是什么?

如果您需要調用PHP方法,則可以使用AJAX。 像這樣:

var btn = document.getElementById("button_id");

btn.onclick = function () {
    // Make AJAX request
    // On success, do this:
    window.location.href = "url to redirect to";
};

可以輕松地搜索“發出AJAX請求”的代碼,我將在一分鍾內提供它:)

更新:

function ajaxFunction() {
    var ajaxRequest; // The variable that makes Ajax possible!

    try {
        // Firefox, Chrome, Opera 8.0+, Safari
        ajaxRequest = new XMLHttpRequest();
    } catch (e) {
        // Internet Explorer Browsers
        try {
            ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (e) {
            try {
                ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP.6.0");
                } catch (e) {
                    try {
                        ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP.3.0");
                    } catch (e) {
                        throw new Error("This browser does not support XMLHttpRequest.");
                    }
                }
            }
        }
    }
    return ajaxRequest;
}

AJAX代碼-

var req = ajaxFunction();
req.onreadystatechange = function (response) {
    if (response.status == 200 && response.readyState == 4) {
        window.location.href = "url to redirect to";
    }
}
req.open("POST", "your PHP file's URL", true);
req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
req.send(null);    // Or send any `key=value&` pairs as a string

有多種方法可以實現此目的。 我會在ajax中調用PHP函數,並根據函數的返回值進行重定向。 以下示例使用jQuery:

jQuery的:

$.ajax({
  url: 'createpdf.php',
  success: function(data) {
    if (data) window.location = 'link/to/new/path'; 
  }
});

PHP:

function create_pdf(){
    //Create PDF
    //If PDF was created successfully, return true
    return true;
}
<form name="input" action="whatever.php" method="get">
...
<input type="submit" value="Submit">
</form>

暫無
暫無

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

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