2 回答

TA貢獻(xiàn)1845條經(jīng)驗(yàn) 獲得超8個(gè)贊
<script>僅當(dāng)您將標(biāo)簽放入 DOM 元素的 HTML 中時(shí),這些標(biāo)簽才會(huì)被執(zhí)行。這不會(huì)自動(dòng)發(fā)生,您需要在您的success函數(shù)中執(zhí)行此操作。
function createFolder(folder){
$.ajax({
url: "index.php",
type: "POST",
data: {'folder':folder},
success: function(data) {
console.log("successful post");
$("#somediv").html(data);
}
});
}

TA貢獻(xiàn)1790條經(jīng)驗(yàn) 獲得超9個(gè)贊
好吧,您正在嘗試使用 Ajax 和 JavaScript 從 php 服務(wù)器獲取值,那么我猜您想在收到頁(yè)面時(shí)發(fā)出警報(bào)
問(wèn)題是
if(isset($_POST["folder"]))
only 在實(shí)際的 Ajax 請(qǐng)求本身中為 true,它僅從服務(wù)器獲取字符串形式的數(shù)據(jù),但并不實(shí)際執(zhí)行它
如果您希望代碼在頁(yè)面上執(zhí)行,則必須在客戶端的 Ajax on success 調(diào)用上執(zhí)行此操作,因此
<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>
然后,如果未設(shè)置“文件夾”,則在服務(wù)器端僅回顯 JavaScript,
同樣在客戶端,為了實(shí)際執(zhí)行 JavaScript,您可能必須創(chuàng)建一個(gè)新的 Dom 解析器
所以整個(gè)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 } ?>
- 2 回答
- 0 關(guān)注
- 136 瀏覽
添加回答
舉報(bào)