gpt4 book ai didi

javascript - 如何在 JavaScript 中调试 "Referenceerror: response is not defined"?

转载 作者:行者123 更新时间:2023-12-03 09:10:19 24 4
gpt4 key购买 nike

我是 AJAX 新手,根据互联网上的一些示例编写了此代码,并收到“Referenceerror:响应未定义”

我的目标:单击按钮(搜索)后,AJAX 调用一个 servlet,该 servlet 将选择框和文本框旁边的值作为输入,并从数据库中搜索所需的数据并以 JSON 格式提供结果。

然后 JSON 对象被处理并作为表格打印到网页上的空 div 中。

$(document).ready(function() 
{

$("#search").click(function(event)
{
var selectedKey = $(".skey option:selected").val();
var insertValue = document.getElementById('svalue').value;
alert(selectedKey+":"+insertValue);
var url="SearchDetails?"+selectedKey+"="+insertValue
var request;
if(window.XMLHttpRequest)
{
request=new XMLHttpRequest()
}
else if(window.ActiveXObject)
{
request=new ActiveXObject("Microsoft.XMLHTTP")
}
try
{
request.onreadystatechange=printBands(response)
request.open("GET",url,true)
request.send()
}
catch(e)
{
alert("Unable to connect to server"+e)
}
});
});

function printBands(json)
{
if(request.readyState==4)
{
var mydata = eval(json);
var table = $.makeTable(mydata);
$(table).appendTo("#resultPrint");
}
$.makeTable = function (mydata)
{
var table = $('<table border=1>');
var tblHeader = "<tr>";
for (var k in mydata[0]) tblHeader += "<th>" + k + "</th>";
tblHeader += "</tr>";
$(tblHeader).appendTo(table);
$.each(mydata, function (index, value)
{
var TableRow = "<tr>";
$.each(value, function (key, val)
{
TableRow += "<td>" + val + "</td>";
});
TableRow += "</tr>";
$(table).append(TableRow);
});
return ($(table));
}
};

最佳答案

换行request.onreadystatechange=printBands(response)request.onreadystatechange=printBands;。您只需传递对函数的引用,而不是在该位置执行它。

关于javascript - 如何在 JavaScript 中调试 "Referenceerror: response is not defined"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32092039/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com