【发布时间】:2020-12-18 16:30:42
【问题描述】:
我有两个函数,每个函数都应该在带有 ajax 的 php 页面上发送 0 或 1。 当按下键盘上的一个键时,发送 1 的函数将启动,而发送 0 的函数必须在三秒后使用 setTimeout () 启动。 问题是第二个函数没有发送。 我把相应代码的一方发给你。 提前感谢您的帮助,请原谅我的英文不太好阅读^^'
我的代码:
function typing() {
var typingBool = 1
if (typingBool != "") {
let donneee = {}
donneee["typingBool"] = typingBool
let donneeeJson = JSON.stringify(donneee)
let xmlhttp = new XMLHttpRequest()
xmlhttp.open("POST", "ajax/typing.php")
xmlhttp.send(donneeeJson)
}
}
function typing2() {
var typingBool = 0
if (typingBool != "") {
let donneee = {}
donneee["typingBool"] = typingBool
let donneeeJson = JSON.stringify(donneee)
let xmlhttp = new XMLHttpRequest()
xmlhttp.open("POST", "ajax/typing.php")
xmlhttp.send(donneeeJson)
}
}
var typingText = document.getElementById('texte');
typingText.addEventListener('keypress', function() {
typing();
setTimeout(function() {
typing2()
}, 3000);
})
【问题讨论】:
-
你的 typing2 函数没有多大意义,typingBool var 和 if 的目的是什么?
-
0 != ""false,因为0是假的,而""是假的,所以你的if不会通过。使用!==进行严格检查。但是,是的,您的代码似乎有点冗长,可以缩短很多 -
分配变量后立即执行
if有什么意义?
标签: javascript php ajax