簡體   English   中英

使用Ajax將變量字符串從javascript傳遞到php

[英]Pass variable string from javascript to php using ajax

如何使用javascript將HTML網頁中的變量值傳遞給php?

我在index.php中創建了此代碼

$amount = $_GET['pricenumb'];
echo $amount;

這是我的javascript代碼,只需單擊一下按鈕即可調用並將數據發送到PHP文件。

<script type="text/javascript">
$(".cell").on("click", "input:checkbox", function () {
    var thiss = $(this);
    var total = $("#price");
    var target = $("label[for='" + thiss.attr("id") + "']");

    var item_value = +(target.html().replace(/[^0-9\.]/g, "") || 0);
    var cur_total = +(total.html().replace("$", "") || 0);

    if (thiss.prop("checked") === true) {
        cur_total += item_value;
    } else {
        cur_total -= item_value;
    };

    total.text("$" + cur_total);

});
</script>   
<script type="text/javascript"> 
$("#pay_btn").on("click", function () {     
    var price = $("#price").text();
    var pricenumb = price.replace(/[^0-9\.]/g, "");
    $.ajax({
        type: "POST",
        url: "forumdisplay.php?fid=2",
        data: "price=" + price + "pricenumb="+ pricenumb,
        cache:false,
        success: function(){
        }
    });
});
    </script>

這是復選框

<div class="cell">
<div class="form-check"><label for="check-a" class="form-check-label"><input id="check-a" class="form-check-input" type="checkbox">$166<span class="form-check-sign"></span></label>
<div class="mask visible-on-sidebar-regular">Buy Product</div>
</div>
</div>

工作代碼是,當我選中該復選框時,它將更新div的內容,我想當我單擊pay按鈕時,通過javascript獲取div的值並將該值發送到我的index.php

您在ajax中使用POST ,在php中使用GET ,將ajax更改為GET 另外,在您的ajax更改中

type: "POST",
url: "forumdisplay.php?fid=2",
data: "price=" + price + "pricenumb="+ pricenumb,

type: "GET",
url: "forumdisplay.php",
data: {
     price: price,
     pricenumb: pricenumb,
     fid: 2
}

那不是您在ajax中傳遞數據的方式。 正確的格式是使用花括號並定義道具名稱和值

data:{propName1: value1,propsName2: value2,propsName3: "Some string value"}

在POST請求的情況下,可以在這樣的文件中使用它。

  • $_POST['propName1']作為結果將提供value1變量數據

  • $_POST['propName3']將輸出為Some string value字符串

如果是字符串,則該值可以用引號引起來;如果是變量,則可以不用引號引起來。 因此,您需要將ajax數據道具重新定義為

$.ajax({
        type: "POST",
        url: "forumdisplay.php?fid=2",
        data: {price: price ,pricenumb: pricenumb},
        cache:false,
        success: function(response){
            // Things to do on success
        },
        error: function(error){
            // Error handling in case of error
        }
});

您傳遞的這些值可以在forumdisplay.php $_POST['price']$_POST['pricenumb'] $ _POST內的名稱是ajax函數中數據屬性內的propsName

暫無
暫無

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

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