这是我打开弹出窗口和执行HTTP请求的代码:
HTTP请求还没有工作
这是我的代码:
window.onload = addElement;
function addElement() {
// create a new div element
// and give it popup content
var newDiv = document.createElement("div");
var texts;
xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange =
function()
{
if (xmlhttp.readyState == 4 && xmlhttp.status = 200)
{
texts = xmlhttp.responseText;
}
else
{
texts = 'Waiting for response...';
}
}
xmlhttp.open("GET", "localhost", true);
xmlhttp.send();
newDiv.innerHTML += '<div id="popup" style=" position: fixed;top: 15%;width: 800px;height: 200px;margin: auto;z-index: 99999;display: block;left:25%;background-color: #fff; border: 1px solid #ddd; border-radius: 5px; box-shadow: 0 1px 6px 4px #000; overflow: hidden; padding: 10px;"><div class="popup_body" style=" height: 160px;">' + texts + '</div><button style="padding: 10px;" class="close_button"onClick="closePopup()">Sluiten</button><button style="padding: 10px;" class="close_button"onClick="tostoring()">Meer Informatie</button></div>';
// Add The Background cover
var BG = document.createElement("div");
//BG.style.background-color = 'black';
BG.style.width = '100%';
BG.style.height = '100%';
BG.style.background = 'black';
BG.style.position = 'fixed';
BG.style.top = '0';
BG.style.left = '0';
BG.style.opacity = '0.7';
BG.style.zIndex = '99900';
BG.style.display = 'none';
BG.setAttribute("id", "bgcover");
// add the newly created elements and its content into the DOM
document.body.appendChild(BG);
document.body.insertBefore(newDiv, BG);
// open popup onload
openPopup();
}
function openPopup() {
var el = document.getElementById('popup');
var BG = document.getElementById('bgcover');
el.style.display = 'block';
BG.style.display = 'block';
}
function tostoring() {
window.location.href='http://localhost/Sms%20management%20systeem/testing/storing.php';
}
function closePopup() {
var el = document.getElementById('popup');
var BG = document.getElementById('bgcover');
el.style.display = 'none';
BG.style.display = 'none';
}
这个错误是什么意思?
我该如何解决这个错误呢?
我被卡住了,因为我的代码在出现此错误时无法正常工作
我知道这可能是if声明,但我不知道出了什么问题。
答案 0 :(得分:1)
xmlhttp.status = 200
应为xmlhttp.status === 200
我对这两个值的比较犯了一个错误
谢谢@Francois wahl。
答案 1 :(得分:-1)
此错误是由运算符优先级引起的:
&&
的优先级高于=
所以:
(xmlhttp.readyState == 4 && xmlhttp.status = 200)
被视为:
( (xmlhttp.readyState == 4 && xmlhttp.status) = 200)
左侧不是变量或属性,因此您无法指定它。
你真的不想分配给它。您正试图比较,并且您输了一个错字。
xmlhttp.status = 200
应为xmlhttp.status == 200