亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

PHP echo javascript 在 if 語句中不起作用

PHP echo javascript 在 if 語句中不起作用

PHP
慕尼黑8549860 2023-10-15 15:42:32
所以代碼看起來像這樣:<script>function createFolder(folder){    $.ajax({    url: "index.php",    type: "POST",    data: {'folder':folder},    success: function(data) {        console.log("successful post");        }    });}</script><?phpif(isset($_POST["folder"])){    $folder = $_POST["folder"];    if(!file_exists($folder)) {        mkdir($folder);                         <--- this code runs        echo '<script>alert("qwe")</script>';   <--- this code doesnt run     }    else {        echo '<script>alert("qwer")</script>';  <--- this code doesnt run    }    echo '<script>alert("qwert")</script>';     <--- this code doesnt run }echo '<script>alert("qwerty")</script>';        <--- this code runs?>..所以在我檢查文件存在的 if 語句中,echo 不起作用,但 mkdir($folder) 命令成功運行,這對我來說有點困惑。為什么 echo 在 if 語句中不起作用?
查看完整描述

2 回答

?
精慕HU

TA貢獻1845條經驗 獲得超8個贊

<script>僅當您將標簽放入 DOM 元素的 HTML 中時,這些標簽才會被執行。這不會自動發生,您需要在您的success函數中執行此操作。


function createFolder(folder){

    $.ajax({

        url: "index.php",

        type: "POST",

        data: {'folder':folder},

        success: function(data) {

            console.log("successful post");

            $("#somediv").html(data);

        }

    });

}


查看完整回答
反對 回復 2023-10-15
?
富國滬深

TA貢獻1790條經驗 獲得超9個贊

好吧,您正在嘗試使用 Ajax 和 JavaScript 從 php 服務器獲取值,那么我猜您想在收到頁面時發出警報


問題是


if(isset($_POST["folder"]))

only 在實際的 Ajax 請求本身中為 true,它僅從服務器獲取字符串形式的數據,但并不實際執行它


如果您希望代碼在頁面上執行,則必須在客戶端的 Ajax on success 調用上執行此操作,因此


<script>

function createFolder(folder){

    $.ajax({

    url: "index.php",

    type: "POST",

    data: {'folder':folder},

    success: function(data) {

        document.body.innerHTML+=data

         // Or maybe data.responseTezt or something idk 

        // Look up in the API how to get the text content

        console.log("successful post");

        }

    });

}

</script>


然后,如果未設置“文件夾”,則在服務器端僅回顯 JavaScript,


同樣在客戶端,為了實際執行 JavaScript,您可能必須創建一個新的 Dom 解析器


所以整個php文件基本上是


<?php

if(isset($_POST["folder"])) {

    //All of your other code

} else {


?>

<!--all of your HTML code-->

<script>

function createFolder(folder){

    $.ajax({

    url: "index.php",

    type: "POST",

    data: {'folder':folder},

    success: function(data) {


      

         // Or maybe data.responseTezt or something idk 

        // Look up in the API how to get the text content

        var dp= new DOMParser()

        var doc=dp.parseFromString(data,"text/html")

        Array.from(doc.children).forEach(t=>

            document.body.appendChild(t)

        )

  

        console.log("successful post");

        }

    });

}

</script>

<?php } ?>


查看完整回答
反對 回復 2023-10-15
  • 2 回答
  • 0 關注
  • 153 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號