说我有以下代码:
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
var responses = JSON.parse(this.responseText);
var email = document.getElementById("email").value;
var passwordIs = responses.email; // email should be replaced with the user's input value;
document.write(passwordIs);
}
};
xmlhttp.open("GET","https://example.com", true);
xmlhttp.send();
如何让它运行,以便当用户输入电子邮件时,变量passwordIs
中的电子邮件会被输入替换?
换句话说,当用户输入jdoe@example.com
时,变量passwordIs
应该"请参阅"这个:responses.jdoe@example.com
相反,它是"看到" responses.email
答案 0 :(得分:2)
使用括号代替点:
var passwordIs = responses[email];
使用点表示法,Javascript将点后面的文本解释为文字,因此您无法使用变量;见Dynamically access object property using variable