簡體   English   中英

使用 AJAX 在同一頁面上將 Javascript var 傳遞給 PHP

[英]Using AJAX to pass Javascript var to PHP on same page

我有一個以空的 PHP 變量開頭的頁面。 然后,當用戶單擊鏈接時,我想將 name 屬性的值傳遞給 JS var,然后將該 JS var 傳遞到同一頁面,然后使用 JS var 值更新 PHP var。 這是我正在嘗試做的一個簡單示例:

// PHP
<?php
    // Starts empty, then when posted should update
    $jsVar = $_POST['jsVar'];
    echo $jsVar;
 ?>


<!-- HTML-->
<!-- Link to click with name vlue to pull-->
<a href="#" name="link">Click Me</a>


<!-- JAVASCRIPT -->
<!-- Import jQuery -->
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>

<script type="text/javascript">

    // On link click
    $('a').click(function(e){

        // Prevent link default behavior
        e.preventDefault();

        // Store name vale as jsVar
        jsVar = $(this).attr("name");

        
        $.ajax({
            type: "POST",
            // url: ""   <--------------- From what I read, if you want to post to the same page you just don't inclue the URL?
            data: {jsVar : jsVar}, // <--------- This was also something I found online that supposedly helps pass JS vars to PHP?
            success: function(data)
            {
                alert("success!");
            }
        });
    });

</script>

很多人說我不需要AJAX。 我提供的示例與我正在嘗試執行的操作非常相似,它根據用戶單擊側邊欄項目動態更改包含文件。 我不想為此使用表格,是嗎?

啊! 當我繼續查看時,我發現 jQuery 具有 .load() 函數,這正是我想要的。 當! 我能夠構建它並使其工作:

// Store clicked page
var currentPage = $(this).attr("name");
// Build filepath
var currentPagePath = "pages/" + currentPage + ".php";

// Find the div I want to change the include for and update it
$("#pageContent").load(currentPagePath);

太簡單。 黨。 謝謝大家。

暫無
暫無

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

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