第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何修復(fù)將 PHP 變量的值傳遞給 javascript 變量的問題

如何修復(fù)將 PHP 變量的值傳遞給 javascript 變量的問題

PHP
躍然一笑 2021-12-03 16:41:11
挑戰(zhàn)是如何獲取包含消息長度(存儲(chǔ)在 MYSQL 數(shù)據(jù)庫中)的特定 PHP 變量($length)以傳遞給 javascript 變量(var = length),以便讓 javascript 決定是否在 HTML 頁面上顯示某個(gè)選取框。我正在為一所小學(xué)準(zhǔn)備一個(gè)網(wǎng)站。在特定頁面上,他們希望有一個(gè)選框,向父母顯示一些最新或緊急的信息。如果您查看頁面www.transitum.org/try_1,您會(huì)看到這樣一個(gè)選框示例。如果您查看頁面www.transition.org/try_2,您會(huì)看到上一頁的副本,不同之處在于選框仍然存在,但在此頁面上沒有顯示任何消息。兩個(gè)選取框都是用 iframe 生成的,它的缺點(diǎn)是當(dāng)沒有顯示消息時(shí),iframe 仍然會(huì)占據(jù)一些垂直高度。理想情況下,當(dāng)沒有提供任何消息(內(nèi)容)時(shí),我希望 iframe 根本不可見。顯示給父級(jí)的消息是通過 PHP 腳本從 MYSQL 數(shù)據(jù)庫中獲取的。這個(gè) PHP 腳本的一部分也是導(dǎo)出每條消息的長度(這是通過 $length = strlen($result[.....]); 完成的)并回顯結(jié)果(如 echo json_encode($length) ;) 允許使用 JSON/AJAX 腳本進(jìn)一步處理。javascript 本身通過 if else 語句檢查消息是否存在(因此長度 > 0 并因此顯示 iframe)或是否沒有消息(因此長度 = 0 并因此不顯示 iframe)正在完美運(yùn)行。挑戰(zhàn)是如何獲取包含消息長度(存儲(chǔ)在 MYSQL 數(shù)據(jù)庫中)的特定 PHP 變量($length)以傳遞給 javascript 變量(var = length),以便讓 javascript 決定是否在 HTML 頁面上顯示某個(gè)選取框。在www.transition.org/try_3 上,我正在運(yùn)行以下腳本。<script src="https://code.jquery.com/jquery-1.11.0.min.js"></script><script type="text/javascript">$(document).ready(function(){       $.ajax({            type:'POST',            url:'https://www.transitum.org/linski_nach/check3.php',            dataType: "json",            data:{length:length},            success:function(data){                console.log(data);                if(data.status == 'ok'){                var length = JSON.parse(length);                } else {}            }        });    });document.write(length);</script>如果我查看控制臺(tái)日志,則會(huì)顯示數(shù)字“53”,這確實(shí)是Try 1頁面上顯示的消息長度的正確值。然而,上面的腳本總是給我“0”。因此我無法讓 javascript“檢測”是否有消息是/否,以及是否需要顯示 iframe 是/否。2019-08-26:所有 3 個(gè)答案都讓我很好地了解了將 php 變量的值傳輸?shù)?javascript 變量的機(jī)制是如何工作的。@Halfer:我將在最后一步打開一個(gè)單獨(dú)的主題來解決我的問題。在這個(gè)地方,我現(xiàn)在只會(huì)添加修改后的腳本和兩個(gè)鏈接,表明 Polywhirl 先生提供的代碼基本可以工作。他的以下代碼(帶有 if else javascript 添加)被輸入到 HTML 頁面中。目前通過鏈接Try_5顯示消息的長度和消息本身。目前通過鏈接Try_6顯示消息的長度和消息本身(只有沒有消息的公告)?,F(xiàn)在唯一的問題是 HTML 頁面本身不再顯示......我試圖找出如何獲取我的 HTML 頁面,如通過Try 1所見。任何建議都非常感謝。
查看完整描述

3 回答

?
動(dòng)漫人物

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超10個(gè)贊

在異步 Ajax 調(diào)用完成之前,您正在將長度寫入頁面。


此外,您錯(cuò)誤地使用了成功功能。


var length = 0; // Global value


$(document).ready(function() {

  $.ajax({

    type: 'POST',

    url: 'https://www.transitum.org/linski_nach/check3.php',

    dataType: "json",

    data: { length: length },

    success: function(data, textStatus, jqXHR) {

      console.log(data); // 53

      if (textStatus === 'success' && jqXHR.readyState === 4) {

        length = JSON.parse(data); // Set the global variable

      } else {

        // Do nothing...

      }

      

      document.write(length); // Write out global length value

    }

  });

});


查看完整回答
反對(duì) 回復(fù) 2021-12-03
?
肥皂起泡泡

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超6個(gè)贊

您可以將變量直接輸出到腳本中echo。

但是一定要檢查PHP輸出了什么樣的值。


<script src="https://code.jquery.com/jquery-1.11.0.min.js"></script>

<script type="text/javascript">


// Variable for example

$length = 53;


$(document).ready(function(){

    $.ajax({

        type:'POST',

        url:'https://www.transitum.org/linski_nach/check3.php',

        dataType: "json",

        data:{

            length: <?php echo $length; ?> // Output variable in length property

        },

        success:function(data){

            console.log(data);

            if(data.status == 'ok'){

                var length = JSON.parse(length);

            } else {}

        }

    });

});


document.write(length);


</script>

或者,當(dāng)您有多個(gè)變量要傳遞時(shí),例如關(guān)聯(lián)數(shù)組,請(qǐng)嘗試先將其轉(zhuǎn)換為 JSON,然后進(jìn)行回顯并將其解析回 JavaScript。


<script src="https://code.jquery.com/jquery-1.11.0.min.js"></script>

<script type="text/javascript">


// Array for example

$vars = array(

   'length'   => 53,

   'string'   => 'text',

   'bool'     => true

);


// Encode to JSON

$json = json_encode( $vars );


$(document).ready(function(){

    $.ajax({

        type:'POST',

        url:'https://www.transitum.org/linski_nach/check3.php',

        dataType: "json",

        data: JSON.parse(<?php echo $json; ?>), // { length: 53, string: 'text', bool: true }

        success:function(data){

            console.log(data);

            if(data.status == 'ok'){

                var length = JSON.parse(length);

            } else {}

        }

    });

});


document.write(length);


</script>

所以 PHP can 變量只能在內(nèi)echo聯(lián)腳本中輸出。如果您有多個(gè)變量要在 JavaScript 中使用,您可以創(chuàng)建一個(gè)內(nèi)聯(lián)腳本,將所有變量輸出到 JS 中并在其他腳本中使用它們。


查看完整回答
反對(duì) 回復(fù) 2021-12-03
?
慕神8447489

TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超1個(gè)贊

如果 console.log 有正確的數(shù)字,試試這個(gè)


var length = data;

<script src="https://code.jquery.com/jquery-1.11.0.min.js"></script>

<script type="text/javascript">


$(document).ready(function(){

    $.ajax({

        type:'POST',

        url:'https://www.transitum.org/linski_nach/check3.php',

        dataType: "json",

        data:{length:length},

        success:function(data){

            console.log(data);

            var length = data;

        }

    });

});


document.write(length);


</script>


查看完整回答
反對(duì) 回復(fù) 2021-12-03
  • 3 回答
  • 0 關(guān)注
  • 266 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)