如何获得ASP Classic对jQuery请求的响应
我构建了下面的jQuery,以在单击按钮时从运行数据库查询(MS SQL 2019)的ASP经典页面获得响应 我的目标是检查数据库中的某个字段是否已更改,如果在5秒后不再次询问,如果它更改且值为1,我们将成功,并应向运行jQuery的页面返回一些额外值,如果值为0,则存在错误,我需要返回该信息,但在我得到表中字段的值之前,它应该暂停5秒钟,然后再次运行请求,直到我得到响应 我已经用本机ASP Classic响应和JSON进行了尝试,但在这一点上,如果我在如何获得ASP Classic对jQuery请求的响应,jquery,asp-classic,Jquery,Asp Classic,我构建了下面的jQuery,以在单击按钮时从运行数据库查询(MS SQL 2019)的ASP经典页面获得响应 我的目标是检查数据库中的某个字段是否已更改,如果在5秒后不再次询问,如果它更改且值为1,我们将成功,并应向运行jQuery的页面返回一些额外值,如果值为0,则存在错误,我需要返回该信息,但在我得到表中字段的值之前,它应该暂停5秒钟,然后再次运行请求,直到我得到响应 我已经用本机ASP Classic响应和JSON进行了尝试,但在这一点上,如果我在setInterval(function(
setInterval(function(){
之后放置警报,它会返回,但不会在function RequestValueFromTable()之后
因此我猜测最后一个函数有一些错误,但我似乎无法找出原因,因为控制台中没有错误
所以我的问题是:
函数RequestValueFromTable()
和下面的函数中做错了什么函数RunTableEntryValidation()
{
setInterval(函数(){
函数RequestValueFromTable()
{
var url=“check_usercreation_progress.asp?id=”;
$.get(url,{},verifyDb);
}
功能验证数据库(响应)
{
如果(响应==1)
{
clearInterval();
警惕(“我有价值”);
//该值存在于此处,我将运行该函数
}
否则如果(响应==0)
{
clearInterval();
警报(“我没有该值”);
}
其他的
{
};
};
}, 5000);
}
解决方案通过以下步骤进行深入研究:
Response.Write“{”结果“:1}”
setInterval(函数(){
var thejson=JSON.parse(response)
需要在
函数verifyDb(response)
和IF语句更改为IF(thejson.result==1)
函数RunTableEntryValidation()
{
setInterval(函数(){
log('setInterval已输入');
RequestValueFromTable();
函数RequestValueFromTable()
{
var url=“check_usercreation_progress.asp?id=”;
$.get(url,{},verifyDb);
log('RequestValueFromTable已输入');
}
功能验证数据库(响应)
{
var thejson=JSON.parse(响应)
console.log('verifyDb已输入');
console.log(response.result)
if(thejson.result==1)
{
clearInterval();
log('返回值1');
警惕(“我有价值”);
}
else if(thejson.result==0)
{
clearInterval();
log('返回值0');
警报(“我没有该值”);
}
其他的
log(“未返回任何值”);
{
};
};
}, 5000);
};
jQuery将需要一个JSON响应来解析,请尝试response.Write“{”result“:0}”
。@user692942..正如您所建议的,我现在已经更改为response.Write“{”result“:0}”
和response.Write“{”result“:1}”
,如果我直接调用ASP页面,我会得到JSON结果,但是jQuery仍然没有给我一个警报。您需要调用函数RequestValueFromTable()
,现在您已经定义了它。在console.log('setInterval已输入');
行之后,添加RequestValueFromTable();
console.log(response.result)
并查看它显示的内容。var thejson=JSON.parse(response)
,然后,if(thejson.result==1)…
。应该这样做。如果有,就不需要JSON解析了。