在asp.net开发中,通常会遇到需要在javascript中获取服务器端返回的数据的情况,而这些数据往往是在aspx的response中生成并返回的。本文将介绍如何从aspx的response中获取javascript数据。
一、在ASPX页面中生成JavaScript数据
在ASPX页面中生成JavaScript数据有很多种方式,本文这里简单介绍一种常见的方式,即通过HiddenField控件将数据存储在页面中,然后在JavaScript中获取并处理。
- 首先在ASPX文件中添加一个HiddenField控件:
- 在ASPX.cs文件中生成需要传递的JavaScript数据,并将数据存储在HiddenField中:
protected void Page_Load(object sender, EventArgs e)
{
// 生成需要传递的数据
string data = "hello world";
// 将数据存储在HiddenField中
hdnData.Value = data;
}二、在JavaScript中获取ASPX的Response数据
在ASPX返回的Response中包含了很多信息,如果我们需要获取其中的JavaScript数据,可以通过以下方式:
立即学习“Java免费学习笔记(深入)”;
采用HttpClient向服务器端action请求数据,当然调用服务器端方法获取数据并不止这一种。WebService也可以为我们提供所需数据,那么什么是webService呢?,它是一种基于SAOP协议的远程调用标准,通过webservice可以将不同操作系统平台,不同语言,不同技术整合到一起。 实现Android与服务器端数据交互,我们在PC机器java客户端中,需要一些库,比如XFire,Axis2,CXF等等来支持访问WebService,但是这些库并不适合我们资源有限的android手机客户端,
- 使用Document对象的write方法在页面中写入JavaScript代码,并在代码中访问ASPX.cs文件返回的数据。例如:
- 在JavaScript中使用XMLHttpRequest对象向ASPX页面发送请求,然后在回调函数中获取返回的数据。例如:
function loadData() {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
var data = xmlhttp.responseText;
// 在这里对数据进行处理
}
};
xmlhttp.open("GET", "myPage.aspx", true);
xmlhttp.send();
}以上两种方式都可以获取ASPX页面返回的JavaScript数据,不同的是第一种方式是在页面加载时直接获取数据,而第二种方式是在JavaScript中通过异步请求获取数据。
三、注意事项
- 在ASPX页面中返回的数据需要满足JavaScript语法规则,否则会导致JavaScript代码执行失败,最终影响到整个应用程序的正常运行。
- 当获取ASPX返回的Response数据时,需要注意的是Response数据并不一定是纯粹的JavaScript代码,可能包含其他的HTML、CSS、XML等类型的数据,需要在JavaScript中进行解析和处理。
- 为了避免跨域问题,通常在JavaScript中请求ASPX页面的数据时,需要将请求发送到同一域名下的ASPX页面中。否则可能会受到浏览器的限制而无法获取数据。
总之,从ASPX的Response中获取JavaScript数据需要在ASPX页面中生成并返回原始数据,然后在JavaScript中进行解析和处理。通过以上形式,我们可以很方便地实现ASP.NET应用程序中的前后端数据传递。










