将变量从一个 asp 页面分配给另一个 asp 页面
Assign variable from one asp to other asp page
我必须 asp 页面,在选择器更改时我将 ajax 发送到其他 asp 页面并希望从该 asp 页面取回变量。
index.asp
<div id="ExSearch" name="ExSearch" >
<script>
$(function() {
$('div.selector select').on('change', onValueChange);
var sIndex = 2;
var Vb_sIndex;
Vb_sIndex = <%=Vb_sIndex_geted%> ' How to do that?
function onValueChange() {
sIndex = sIndex + 1;
$.ajax({
url: '/Functions/ExSearch.asp',
type: 'POST',
data: 'startIndex=' + sIndex + '',
dataType: 'text',
success: function (data) {
$("#ExSearch").html(data);
}
});
};
});
</script>
<%= Vb_sIndex%>
ExSearch.asp
<% Vb_sIndex_geted = Request.form("startIndex") + 1
Response.Write = Vb_sIndex_geted ' for first click it = 4,how to assign this value to index.asp?
%>
如何从 ExSearch.asp 设置 Vb_sIndex 到 index.asp?
AJAX 运行客户端 在 ASP 已经处理了你所有的 <%...%>
部分,所以你不能 return 从 AJAX 到服务器端变量的值(无论如何不需要一些额外的工作)。
此外,您在示例中混合了客户端和服务器端代码。 Vb_sIndex
在您的客户端 jQuery 函数中声明,但您试图在服务器端 ASP 标记中使用它:<%= Vb_sIndex%>
。这是行不通的。当 ASP 处理 <%= Vb_sIndex%>
时,您将得到一个错误(如果声明了 Option Explicit
)或一个空值(如果没有声明)。
如果您想将 AJAX 调用的 return 值分配给服务器端变量,请考虑在 AJAX success
中创建并提交表单函数,将 data
作为隐藏表单变量传递。这样的事情应该有效:
$.ajax({
....
success: function (data) {
$('<form method="post" action="index.asp"><input type="hidden" name="h" value="' + data + '"></form>').appendTo('body').submit();
}
}
然后当您的页面重新加载时,您可以从 Form
集合中提取值:
<%
Dim Vb_sIndex
Vb_sIndex = Request.Form("h")
%>
我必须 asp 页面,在选择器更改时我将 ajax 发送到其他 asp 页面并希望从该 asp 页面取回变量。
index.asp
<div id="ExSearch" name="ExSearch" >
<script>
$(function() {
$('div.selector select').on('change', onValueChange);
var sIndex = 2;
var Vb_sIndex;
Vb_sIndex = <%=Vb_sIndex_geted%> ' How to do that?
function onValueChange() {
sIndex = sIndex + 1;
$.ajax({
url: '/Functions/ExSearch.asp',
type: 'POST',
data: 'startIndex=' + sIndex + '',
dataType: 'text',
success: function (data) {
$("#ExSearch").html(data);
}
});
};
});
</script>
<%= Vb_sIndex%>
ExSearch.asp
<% Vb_sIndex_geted = Request.form("startIndex") + 1
Response.Write = Vb_sIndex_geted ' for first click it = 4,how to assign this value to index.asp?
%>
如何从 ExSearch.asp 设置 Vb_sIndex 到 index.asp?
AJAX 运行客户端 在 ASP 已经处理了你所有的 <%...%>
部分,所以你不能 return 从 AJAX 到服务器端变量的值(无论如何不需要一些额外的工作)。
此外,您在示例中混合了客户端和服务器端代码。 Vb_sIndex
在您的客户端 jQuery 函数中声明,但您试图在服务器端 ASP 标记中使用它:<%= Vb_sIndex%>
。这是行不通的。当 ASP 处理 <%= Vb_sIndex%>
时,您将得到一个错误(如果声明了 Option Explicit
)或一个空值(如果没有声明)。
如果您想将 AJAX 调用的 return 值分配给服务器端变量,请考虑在 AJAX success
中创建并提交表单函数,将 data
作为隐藏表单变量传递。这样的事情应该有效:
$.ajax({
....
success: function (data) {
$('<form method="post" action="index.asp"><input type="hidden" name="h" value="' + data + '"></form>').appendTo('body').submit();
}
}
然后当您的页面重新加载时,您可以从 Form
集合中提取值:
<%
Dim Vb_sIndex
Vb_sIndex = Request.Form("h")
%>