在JS中,我使用ajax来更新表单,如下所示:
$.ajax({
type: "POST",
url: "updateForm.asp",
data: {"a":1,"b"2,"c":3},
success: function(result) {
},
error: function(xhr, status, error) {
alert("Error saving record: " + error+" : "+xhr.responseText);
}
});
在asp文件(VBS)中:
<%
request.Form("a")
request.querystring("b")
%>
无论使用form还是querystring函数都无法获取数据。那么我应该怎么做才能接收asp文件中的ajax数据呢?
首先,我尝试了 request.Form("a") 和 request.querystring("b"),但没有成功。 然后我将ajax部分更改为:
type: "POST",// I also tried change to get method
url: "updateForm.asp?a=1&b=2&c=3", // modify url and data
data: {},
但还是没用。 现在我只能使用 window.open 来做到这一点。我想了解更多。
解决 ASP 文件中未接收 AJAX 数据的问题:
对于 POST 请求,请使用
Request.Form
在 ASP 中检索数据。
// AJAX
$.ajax({
type: "POST",
url: "updateForm.asp",
data: { a: 1, b: 2, c: 3 },
success: function(result) {},
error: function(xhr, status, error) {}
});
// ASP
aValue = Request.Form("a")
bValue = Request.Form("b")
cValue = Request.Form("c")
对于 GET 请求,将数据附加到 URL 并使用
Request.QueryString
。
// AJAX
$.ajax({
type: "GET",
url: "updateForm.asp?a=1&b=2&c=3",
success: function(result) {},
error: function(xhr, status, error) {}
});
// ASP
aValue = Request.QueryString("a")
bValue = Request.QueryString("b")
cValue = Request.QueryString("c")
确保 AJAX 调用中的方法(
POST
或 GET
)与相应的 ASP 方法(Request.Form
或 Request.QueryString
)匹配。