Ajax 原理的东西,大家来帮助看看。

shclhs 2008-03-29 11:48:18
这段时间有空,就想学习一下ajax的原理,于是用asp.net想写一个。但是有点问题。需要大家的帮助。
我在页面上放了两个button和两个textbox,一个button使用ajax,一个使用asp.net原来的机制,我发现在第一次我点那个使用ajax button的时候,相对应得textbox显示正常的值,但是再点就一直不变化了,但是使用asp.net机制的button却工作正常。我贴出代码,让大家帮我看看为什么.


<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>

<script type="text/jscript">
var xhr=null;

function CreateXMLHttp()
{
//尝试以IE方式创建该对象
try
{
xhr= new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
xhr= new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e2)
{
xhr = null;
}
}

//如果仍然没有建立xmlHttp,则以非Microsoft 的方式创建该对象
if ( xhr==null && typeof XMLHttpRequest != 'undefined')
{
xhr= new XMLHttpRequest();
}
}

function getZipData ( zipCode )
{
//每次使用前,都要先创建一个XMLHttpRequest实例
CreateXMLHttp();
if(xhr==null) return;

xhr.onreadystatechange= processZipData; //状态改变时触发
xhr.open("GET","Default.aspx?zipcode="+ zipCode, false);
xhr.send(); //最后,调用send()将请求发送到服务器
}


function processZipData ( )
{
//解析应答的回调函数 (TEXT)
if(xhr.readyState ==4)
{
if(xhr.status==200)
{
//以字符串方式返回
var rtdata=xhr.responseText;

//如果有多个值,则以逗号分隔(根据实际返回决定)
var v=rtdata.split(',') ; //转换成数组v,取值方式 v[0] …
//取得返回值根据自已的情况处理

document.getElementById("Text1").innerText = v[0];
}
}
}

</script>

</head>
<body>
<form id="form1" runat="server">
<div>
<input onclick="getZipData(this.value)" type="button" name="zip" style="width: 57px;
height: 23px" value="123" />
<input id="Text1" type="text" /></div>
<div id="div2">
</div>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</form>
</body>
</html>










using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (Request["zipcode"] != null)
{
string szType = Request["zipcode"];
string szRet = "返回值" + HelpClass.i++.ToString();
Response.Write(szRet);
Response.End();
}
}

protected void Button1_Click(object sender, EventArgs e)
{
TextBox1.Text = "返回值" + HelpClass.i++.ToString();
}
}

public class HelpClass
{
public static int i = 1;
}
...全文
110 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
rtsp 2008-03-29
  • 打赏
  • 举报
回复
查一下,如果每次都能获得到数据,但数据都一样,那考虑在url里加个随机数,如:

xhr.open("GET","Default.aspx?zipcode="+ zipCode + "&random="+Math.random(), false);
shclhs 2008-03-29
  • 打赏
  • 举报
回复
如果大家有什么好的sample,共享一下啊,谢谢,不过最好不要是使用什么其他框架的ajax
rtsp 2008-03-29
  • 打赏
  • 举报
回复
在得到结果后把xhr.responseText打出来看看,alert(xhr.responseText);

这种“ajax”没搞过- -!!!
hearyone 2008-03-29
  • 打赏
  • 举报
回复
正在学习呢!呵呵

UP
shclhs 2008-03-29
  • 打赏
  • 举报
回复
放到session里?我把这个i++改成取服务器时间也不新的。因该不是你说的这个问题。我觉得你自己可以试试。
rtsp 2008-03-29
  • 打赏
  • 举报
回复
public class HelpClass
{
public static int i = 1;
}
这个东西的问题,把i放到session里试试
noflyzone 2008-03-29
  • 打赏
  • 举报
回复
这是原理吗?这不是应用吗?
shclhs 2008-03-29
  • 打赏
  • 举报
回复
COOL
谢谢,解决了
rtsp 2008-03-29
  • 打赏
  • 举报
回复
加上随机参数只是用来避免读取default.aspx这个页面时读取了缓存里的东西
shclhs 2008-03-29
  • 打赏
  • 举报
回复
我在服务器端就没用那个参数。
源码链接: https://pan.quark.cn/s/a4b39357ea24 在本研究中,我们将详细研究如何借助Python执行数据可视化,旨在剖析2018年期间中国四个主要城市——北京、上海、广州以及深圳的空气质量状况。通过绘制反映空气质量指数(AQI)与细颗粒物(PM2.5)变化趋势的图表,我们能够深入理解这些大都市全年的空气环境质量,并明确评估其优良天气所占的比重。 我们必须首先进行数据准备工作。在当前提供的压缩文件内,名为"2018天气"的文件极有可能是数据来源,其中可能收录了涉及四个城市每日空气质量监测的详细信息。这些数据通常涵盖日期、城市名称、AQI数值、PM2.5含量等核心参数。在Python编程环境中,我们惯常运用pandas库来对这类结构化数据进行高效的处理和分析。 1. **数据导入与初步处理**: - 利用`pandas.read_csv()`方法来导入存储为CSV格式的数据资料。 - 数据整理:对数据中的空白项、非正常数值进行修正,保证数据的精确性。 - 调整日期字段的格式,确保其能够适用于时间序列分析的需求。 2. **数据深度分析**: - 针对每个城市的AQI和PM2.5数据执行统计性描述,例如计算平均值、中位数、标准偏差等指标。 - 确定空气质量良好天气的天数,即那些AQI值低于75(依据中国的空气质量评估标准)的日数。 3. **数据呈现**: - 运用matplotlib或seaborn工具绘制折线图,直观展示四个城市在2018年全年的AQI和PM2.5变化动态。 - 可通过采用不同的颜色方案和线条类型来区分不同城市的数据系列。 - 添加必要的图示元素,如日期坐标轴、城市名称标注、图表标题及图例说明,以提升图表的可读...

62,271

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧