我试图从jQuery ajax调用经典的ASP函数,但它给出了404错误。我想在这个javascript代码中返回jSON中的记录:
$.ajax({
type: "POST",
url: "../dbFile.asp/GetAllRecords",
data: {"Id"="10"},
error: function(XMLHttpRequest, textStatus, errorThrown){
alert(textStatus);
},
success: function(result){
alert("success");
}
});
return false;
});
我在asp经典文件中的vb脚本函数是
Function GetAllRecords()
dim cmd, rs
set cmd=Server.CreateObject("ADODB.Command")
cmd.ActiveConnection = conn
cmd.CommandType = 4
cmd.CommandText = "GetAllRecords"
set rs=Server.CreateObject("ADODB.Recordset")
set rs=cmd.Execute()
set GetAllRecords= rs
set rs=nothing
set cmd=nothing
End Function
请指导,我被困在这里。
答案 0 :(得分:5)
您不能像调用ASP.NET WebMethod一样调用传统的ASP页面。您可以通过在Querystring中传递参数来调用它,例如
url: "../dbFile.asp?Action=GetAllRecords",
在您的ASP代码中执行类似
的操作If Request("Action") = "GetAllRecords"
Response.Write GetAllRecords()
Response.End
End If
注意:为此,GetAllRecords()
函数需要返回带有JSON或XML的实际字符串,现在它重新创建一个Recordset。您需要通过记录集循环,以正确的格式构建字符串。