我创建了我的函数,该函数将获取API以更改用户的步调。 在我的changePace函数中,我已经建立了我的参数步速,该参数将根据用户选择的步速而变化。我有4个步伐,稳定,剧烈,痛苦和休息。其中任何一个都可以作为changePace函数的参数。
但是当我尝试使用适当的参数调用changePace函数时,出现以下错误。
trail.js:8 Uncaught ReferenceError: steady is not defined
at HTMLBodyElement.document.body.onkeyup
JS文件:
document.body.onkeyup = function(e){
if(e.keyCode == 13){
document.getElementById("paces").style.color = "white";
paceDiv = true;
console.log("Works");
}
if(e.keyCode == 49 && paceDiv == true) {
changePace(steady);
document.getElementById("paces").style.color = "black";
}
if(e.keyCode == 50 && paceDiv == true){
changePace(strenuous);
document.getElementById("paces").style.color = "black";
}
if(e.keyCode == 51 && paceDiv == true){
changePace(grueling);
document.getElementById("paces").style.color = "black";
}
if(e.keyCode == 52 && paceDiv == true){
changePace(resting);
document.getElementById("paces").style.color = "black";
}
if(e.keyCode == 32) {
changeDay();
document.getElementById("paces").style.color = "black";
}
}
function changePace(pace) {
fetch('/api/changePace',
{method: "post",
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: '{"pace": "' + pace + '"}'
})
.then(function(response) {
if (response.status !== 200) {
console.log('Error: ' + response.status + "..." + response.value);
return;
}
response.json().then(function(data) {
changeDay();
});
});
}
答案 0 :(得分:1)
我相信您希望steady
是一个字符串,但是您已经将它写为一个从未定义的变量。
改为尝试changePace('steady');
。
或者,也可以在文件顶部附近的某个位置定义变量。如果您要在多个位置使用'steady'
字符串,则建议使用此方法。
var steady = 'steady';
var strenuous = 'strenuous';
var grueling = 'grueling';
var resting = 'resting';