Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何获得ASP Classic对jQuery请求的响应_Jquery_Asp Classic - Fatal编程技术网

如何获得ASP Classic对jQuery请求的响应

如何获得ASP Classic对jQuery请求的响应,jquery,asp-classic,Jquery,Asp Classic,我构建了下面的jQuery,以在单击按钮时从运行数据库查询(MS SQL 2019)的ASP经典页面获得响应 我的目标是检查数据库中的某个字段是否已更改,如果在5秒后不再次询问,如果它更改且值为1,我们将成功,并应向运行jQuery的页面返回一些额外值,如果值为0,则存在错误,我需要返回该信息,但在我得到表中字段的值之前,它应该暂停5秒钟,然后再次运行请求,直到我得到响应 我已经用本机ASP Classic响应和JSON进行了尝试,但在这一点上,如果我在setInterval(function(

我构建了下面的jQuery,以在单击按钮时从运行数据库查询(MS SQL 2019)的ASP经典页面获得响应

我的目标是检查数据库中的某个字段是否已更改,如果在5秒后不再次询问,如果它更改且值为1,我们将成功,并应向运行jQuery的页面返回一些额外值,如果值为0,则存在错误,我需要返回该信息,但在我得到表中字段的值之前,它应该暂停5秒钟,然后再次运行请求,直到我得到响应

我已经用本机ASP Classic响应和JSON进行了尝试,但在这一点上,如果我在
setInterval(function(){
之后放置警报,它会返回,但不会在
function RequestValueFromTable()之后
因此我猜测最后一个函数有一些错误,但我似乎无法找出原因,因为控制台中没有错误

所以我的问题是:

  • 我在
    函数RequestValueFromTable()
    和下面的函数中做错了什么
  • 从ASP DB Query将响应发送回jQuery的正确方法是什么
  • 我的jQuery:

    函数RunTableEntryValidation()
    {
    setInterval(函数(){
    函数RequestValueFromTable()
    {
    var url=“check_usercreation_progress.asp?id=”;
    $.get(url,{},verifyDb);
    }
    功能验证数据库(响应)
    {
    如果(响应==1)
    {
    clearInterval();
    警惕(“我有价值”);
    //该值存在于此处,我将运行该函数
    }
    否则如果(响应==0)
    {
    clearInterval();
    警报(“我没有该值”);
    }
    其他的
    {
    };            
    };
    }, 5000);
    
    }
    解决方案通过以下步骤进行深入研究:

  • 响应。在ASP页面中写入应为JSON格式的响应:
    Response.Write“{”结果“:1}”
  • 之后未调用RequestValueFromTable()
    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解析了。