【发布时间】:2019-08-28 08:46:56
【问题描述】:
我设法获得了一个包含消息长度(存储在 MYSQL 数据库中)的某个 PHP 变量 ($length) 以传递给 javascript 变量 (var = length),以便让 javascript 决定是否不在 HTML 页面上显示某个选取框。目前的 javascript 代码(非常感谢 Polywhirl 先生)基本上可以正常工作,它使用 document.write 语句来显示输出。但是,使用 document-write “杀死”我目前的 HTML 页面。所以我试图找到一个替代方案,通过定义一个额外的函数,使用innerHTML。但是我无法让这段代码工作......
最初的 javascipt 代码可以正常工作,但它会“杀死”我的 HTML 页面,如下所示:
<script src="https://code.jquery.com/jquery-1.11.0.min.js"></script>
<script type="text/javascript">
var length = 0;
$(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
if(length <1)
{
document.write(length);
document.write("<table><td>no message available</td></table>");
}
else
{
document.write(length);
document.write('<iframe src="https://www.transitum.org/linski_nach/test3.php" width="100%" height="55" border="no" scrolling="no"></iframe>');
}
} else {
// Do nothing...
}
}
});
});
</script>
所以我做了一些更改,以使输出正确显示在我的 HTML 页面中,并保持这个 HTML 页面完整,而不是完全“替换”我的 HTML 页面。这段代码如下:
<script src="https://code.jquery.com/jquery-1.11.0.min.js"></script>
<script type="text/javascript">
var length = 0;
var message = 0
$(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
if(length <1)
{ var message = { item:"<iframe src='https://www.bruedergrimmschule.de/linski_nach/test3.php' width='100%' height='55' </iframe>" };
}
else
{ var message = { item:"<table><td>no message available</td></table>" };
}
} else {
// Do nothing...
}
}
});
});
function displayDetails() {
document.getElementById("details").innerHTML = this.item;
}
message.showDetails = displayDetails;
message.showDetails();
</script>
<div id="details"></div>
这一次 HTML 页面本身已完全正确显示,但根本看不到 javascript 代码的输出。
如何解决?
【问题讨论】:
-
有两个变量叫做
message。在 if 条件中声明的消息变量不是指全局变量。设置没有 var 关键字的值。喜欢message = { item:"<table><td>no message available</td></table>" }; -
在收到成功请求后更改
div或变量message。里面success设置 -
我已将“var message”更改为“message”,所以现在这部分代码是:~~~~ if(length bruedergrimmschule.de/linski_nach/test3.php' 宽度='100%' 高度='55' " }; } else { message = { item:"
" }; } ~~~~ 但这并不能解决问题。没有可用的消息
标签: javascript html object